将数据粘贴到表单中并单击提交按钮后,即使粘贴了正确的密码,我也会收到错误信息“密码错误”。有人可以帮帮我吗?
<?php
session_start();
include_once 'dbconnect.php';
if (isset($_POST['ulozitzmeny']) && ($_SESSION['user']) && strlen($_SESSION['user']) > 0) {
$first_name = mysql_real_escape_string($_POST['jmeno']);
$last_name = mysql_real_escape_string($_POST['prijmeni']);
$email = mysql_real_escape_string($_POST['email']);
$password = hash('sha512', mysql_real_escape_string($_POST['heslo']));
$res = mysql_query("SELECT password FROM users WHERE username='$_SESSION[user]'");
$row = mysql_fetch_array($res);
if ($password != $row) {
echo" <div id='alerts' class='alert alert-danger'>
<a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a>
<strong>Chyba!</strong> Nespávné heslo!
</div>";
} else {
if (mysql_query("UPDATE users SET first_name='$first_name', last_name='$last_name', email='$email' WHERE username = '$_SESSION[user]'")or die(mysql_query)) {
echo" <div id='alerts' class='alert alert-success'>
<a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a>
<strong>Úspěch!</strong> Změny proběhly úspěšně!
</div>";
}
}
}
?>
答案 0 :(得分:0)
PHP手册说: mysql_fetch_array - 将结果行作为关联数组,数字数组或两者获取。 如果你比较的语句可能是$ password,这是字符串和$ row,PHP手册说的是数组。 请检查$ row变量的值。
答案 1 :(得分:0)
更改
if ($password != $row) {
到
if ($password != $row[0]) {