登录PHP MySQL

登录PHP MySQL,php,mysql,session,login,md5,Php,Mysql,Session,Login,Md5,我是PHP新手,我正在尝试制作一个登录表单,以便人们可以使用他们的电子邮件和密码登录 密码和电子邮件在我的数据库中。密码是md5加密的 目前,当我进入表单时,它正在工作。但是,当我单击connect时,它会进入我的includes/login.php,并在一个白色页面中显示Stuck <?php if (isset($_POST['email']) && isset($_POST['password'])) { $user = $_POST['email'];

我是PHP新手,我正在尝试制作一个登录表单,以便人们可以使用他们的电子邮件和密码登录

密码和电子邮件在我的数据库中。密码是md5加密的

目前,当我进入表单时,它正在工作。但是,当我单击connect时,它会进入我的includes/login.php,并在一个白色页面中显示Stuck

<?php

if (isset($_POST['email']) && isset($_POST['password'])) {
    $user = $_POST['email'];
    $pass = $_POST['password'];
    $passmd5 = md5($pass);
    include('connexiondb.php');
    $check = mysqli_query($mysqli, 'SELECT * FROM User WHERE EmailUser == $user');
    while($checkRow = mysqli_fetch_array($check)) {
        $passmd5db = $checkRow['PassUser'];
        $accessUser = $checkRow['AccessUser'];
        $idUser = $checkRow['IDUser'];
    }
    if($passmd5 == $passmd5db) {    
        // dans ce cas, tout est ok, on peut démarrer notre session

        // on la démarre :)
        session_start ();
        // on enregistre les paramètres de notre visiteur comme variables de session ($login et     $pwd) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
        $_SESSION['id'] = $idUser;
        $_SESSION['access'] = $accessUser;

        // on redirige notre visiteur vers une page de notre section membre
        header ('location: index.php');
    }
}
?>

我做了什么坏事吗

1) 您没有使用参数化查询。(在谷歌上查找)


2) md5不是存储密码哈希的好选择。请参阅:

您的代码对SQL注入是可疑的第一眼-mysql使用
=
而不是
=
,字符串必须用引号封装
/
'
,php不解析单引号中的变量,只解析双引号->
“从EmailUser='$User'
错误报告(E\u ALL)的用户中选择*;ini设置(“显示错误”,1)
将这两行直接添加到
之后,查询的
$user
周围也应该有引号。查询被单引号包围,单引号不会解析变量,因此这是一个sql错误。我同意乔纳森的评论,他指出了一个错误