我是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');
}
}
?>
有什么我做不好的事吗?
有什么我做不好的事吗?
是。
1)您没有使用参数化查询。 (在谷歌看看)
2)md5不是存储密码哈希的好选择。见:http://php.net/manual/en/faq.passwords.php#faq.passwords.bestpractice