登录PHP MySQL

问题描述 投票:-1回答:1

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

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

目前,当我去表格时,它正在运作。但是,当我点击连接时,它会转到我的includes / login.php,它会卡在白页中。

<?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');
    }
}
?>

有什么我做不好的事吗?

php mysql session login md5
1个回答
0
投票

有什么我做不好的事吗?

是。

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

2)md5不是存储密码哈希的好选择。见:http://php.net/manual/en/faq.passwords.php#faq.passwords.bestpractice

© www.soinside.com 2019 - 2024. All rights reserved.