php登录错误用户名和密码丢失

php登录错误用户名和密码丢失,php,mysql,Php,Mysql,我的登录页面有问题,有人能帮我解决这个错误吗?下面是登录页面的代码,当我按下登录按钮时,显示用户名丢失,密码丢失。有人能帮我解决这个错误吗?问题出在哪里?出在哪里?谢谢 <?php //Start session session_start(); //Array to store validation errors $errmsg_arr = array(); //Validation error flag $errflag = fals

我的登录页面有问题,有人能帮我解决这个错误吗?下面是登录页面的代码,当我按下登录按钮时,显示用户名丢失,密码丢失。有人能帮我解决这个错误吗?问题出在哪里?出在哪里?谢谢

<?php
    //Start session
    session_start();

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysqli_connect('localhost','root',"");
    if(!$link) {
        die('Failed to connect to server: ' . mysqli_error());
    }

    //Select database
    $db = mysqli_select_db($link, 'sales');
    if(!$db) {
        die("Unable to select database");
    }

    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysqli_real_escape_string($str);
    }

    //Sanitize the POST values
    $login = clean($_POST['username']);
    $password = clean($_POST['password']);

    //Input Validations
    if($login == '') {
        $errmsg_arr[] = 'Username missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }

    //If there are input validations, redirect back to the login form
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: index.php");
        exit();
    }

    //Create query
    $qry="SELECT username,password FROM 'user' WHERE username='$login' AND password='$password'";
    $result=mysqli_query($qry);

    //Check whether the query was successful or not
    if($result) {
        if(mysqli_num_rows($result) > 0) {
            //Login Successful
            session_regenerate_id();
            $member = mysqli_fetch_assoc($result);
            $_SESSION['SESS_MEMBER_ID'] = $member['id'];
            $_SESSION['SESS_FIRST_NAME'] = $member['name'];
            $_SESSION['SESS_LAST_NAME'] = $member['position'];
            //$_SESSION['SESS_PRO_PIC'] = $member['profImage'];
            session_write_close();
            header("location: main/index.php");
            exit();
        }else {
            //Login failed
            header("location: index.php");
            exit();
        }
    }else {
        die("Query failed");
    }
?>

这是索引页


销售时点情报系统
身体{
填充顶部:60px;
填充底部:40px;
}
.侧边栏导航{
填充:9px0;
}
艾瑞克药房



登录
我找到了解决方案。 问题是我删除了下面的代码

function clean($str) {
    $str = @trim($str);
    if(get_magic_quotes_gpc()) {
        $str = stripslashes($str);
    }
    return mysqli_real_escape_string($str);
}
我添加了以下代码:

    $login = $_POST['username'] =    filter_var($_POST['username'], FILTER_SANITIZE_EMAIL); 
$password = $_POST['password'] = filter_var($_POST['password'], FILTER_SANITIZE_STRING);
还删除了代码:

  $login = clean($_POST['username']);
$password = clean($_POST['password']);
并在代码查询中添加:

 $qry="SELECT * FROM user WHERE username='$login' AND password='$password'";
$result=mysqli_query($link, $qry);

你能发布你的HTML吗?欢迎来到Stack Overflow!请阅读,环顾四周,并通读,尤其是和。查看此代码:您的问题很可能存在于表单本身。没有发布您的HTML,我们无法帮助。我已经发布了HTML,这是索引页
return mysqli\u real\u escape\u string($str)
clean()
函数中(您可能不应该使用像
clean()
这样的东西,您可能无论如何都不应该使用),它需要一个MySQLi连接,这是一个范围问题