mySql数据库和php登录
每当我点击表单中的登录按钮时,它会自动显示错误的用户名或密码?这些信息是从我的数据库中提取的,我正试图提取登录的号码和密码!这是我用来检查登录名的PHP代码我认为您在第行输入了密码变量:mySql数据库和php登录,php,html,mysql,database,session,Php,Html,Mysql,Database,Session,每当我点击表单中的登录按钮时,它会自动显示错误的用户名或密码?这些信息是从我的数据库中提取的,我正试图提取登录的号码和密码!这是我用来检查登录名的PHP代码我认为您在第行输入了密码变量: // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or di
// Connect to server and select databse.
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
$number=$_POST['number'];
$password=$_POST['password'];
// To protect MySQL injection (more detail about MySQL injection)
$number = stripslashes($number);
$password = stripslashes($password);
$number = mysql_real_escape_string($number);
$password = mysql_real_escape_string($password);
$password = hash('sha512', $password);
$sql="SELECT * FROM $tbl_name WHERE number='$number' and password='$password'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
session_start();
$row=mysql_fetch_array($result);
// Register $myusername, $mypassword and redirect to file "login_success.php";
$_SESSION['firstname'] =$row['firstname'];
$_SESSION['secondname'] =$row['secondname'];
$_SESSION['email'] =$row['email'];
$_SESSION['vote'] =$row['vote'];
$sow = $row['number'];
header("location:User/User.php?id=$sow");
}
else {
echo $error = "Wrong Username or Password";
}
ob_end_flush();
?>
$password=hash'sha512',$paassword 如果可以,你应该这样做。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO,您确实不应该在密码散列上使用自己的盐,并且您确实应该使用PHP来处理密码安全性。如果你使用的是低于5.5的PHP版本,你可以使用密码散列。我很好奇你对ob\u end\u flush的使用-是不是Sam@Jayblanchard有趣的是,我只是想说看这个,OP会转过来说他们在使用$password本能和/或经验秘密编辑。
$password = hash('sha512', $paassword);
^--- see anything wrong here?