我有一个期末考试项目。我要做一个登记表和登录表,然后用php把登记表中的数据发送到数据库中,并在日志中使用。我已经完成了注册,它成功地将数据发送到数据库。但我在登录时遇到了问题。如果我将新数据发送到数据库并在输入中写下来,它就可以工作,但如果我试图写旧数据,它就不工作了,为什么?
<?php
$link = mysqli_connect("localhost","root","root","test");
if(isset($_POST['logg'])){
$login = $_POST['login'];
$pasw = $_POST['password'];
if(empty($_POST['login'])||empty($_POST['password'])){
echo '<script language="javascript">';
echo 'alert("Lracnel dashty")';
echo '</script>';
}
else {
$sql = "SELECT `login` , `password`
FROM `contact_form` ";
$result = mysqli_query($link,$sql);
while ($lol = mysqli_fetch_assoc($result)) {
if($login==$lol['login']){
if($pasw==$lol['password']){
echo 'Welcome '.$lol['login'];
}
else{
echo 'Wrong password';
}
}
else{
echo 'Wrong login';
break;
}
}
}
}
?>
2条答案
按热度按时间68bkxrlz1#
这对我很管用。确保你所有的
if
这是真的。pbwdgjma2#
我建议你用
PDO
为了查询数据库,我修改了您的代码以添加WHERE
子句和要使用password\u verify()php函数,这意味着您将在将密码保存到数据库之前对其进行哈希处理,您还需要在查询数据库之前对输入进行清理。