Php 登录错误-没有';不直接
所以,当我登录时,只要有正确的ID和密码,它就会显示为“错误的ID或密码”。不知道为什么会这样。我打字打错了吗?还是别的什么?请帮忙……谢谢。我只是想说,当注册密码时,使用“crypt”对密码进行加密和存储。在定义$pw时,我需要定义它吗?这就是它不起作用的原因吗 更新= process\u login.phpPhp 登录错误-没有';不直接,php,mysql,Php,Mysql,所以,当我登录时,只要有正确的ID和密码,它就会显示为“错误的ID或密码”。不知道为什么会这样。我打字打错了吗?还是别的什么?请帮忙……谢谢。我只是想说,当注册密码时,使用“crypt”对密码进行加密和存储。在定义$pw时,我需要定义它吗?这就是它不起作用的原因吗 更新= process\u login.php 说。即使是这样也不安全!请已在PHP7中删除。了解使用PDO的语句并考虑使用PDO,请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u散列()。您需要与加
说。即使是这样也不安全!请已在PHP7中删除。了解使用PDO的语句并考虑使用PDO,请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u散列()
。您需要与加密密码匹配:$pw=crypt(stripslashes($pw))代码>$count=mysql\u num\u行($result);var_dump($count)显示了什么?
<?php
$host="localhost"; // Host name
$username="*******"; // Mysql username
$password="*******"; // Mysql password
$db_name="*******"; // Database name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$id=$_POST['ID'];
$pw=$_POST['Password'];
// To protect MySQL injection (more detail about MySQL injection)
$id = stripslashes($id);
$pw = stripslashes($pw);
$id = mysql_real_escape_string($id);
$pw = mysql_real_escape_string($pw);
$sql="SELECT * FROM User WHERE ID='$id' and Password='$pw'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $id and $pw, table row must be 1 row
if($count==1){
$result=mysql_fetch_array($result);
$st = $result['Status'];
//page link on the basis of user Status you can add more condition on the basis of ur roles in db
if($st == '0'){
$link = 'menu_user.php';
}
elseif($st == '1'){
$link = 'menu_staff.php';
}
elseif($st == '2'){
$link = 'menu_admin.php';
}
// session Register $id, $pw and redirect
$_SESSION["ID"] = $id;
$_SESSION["Password"] = $pw;
$_SESSION["Status"] = $st;
header("Location: ".$link."");
}
else {
echo "Wrong ID or Password";
echo"<META HTTP-EQUIV='Refresh' Content='2; URL=http://******/index.php'>";
}
?>