更新用户信息不起作用


Update user information is not working

将数据粘贴到表单中并单击提交按钮后,即使粘贴了正确的密码,我也总是会收到错误消息"错误密码"。有人能帮我吗?

<?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'>&times;</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'>&times;</a>
             <strong>Úspěch!</strong> Změny proběhly úspěšně!               
             </div>";
        }
    }
}
?>

更改

if ($password != $row) {

if ($password != $row[0]) {

PHP手册说:mysql_fetch_array——将结果行作为关联数组、数字数组或两者兼而有之。在if语句中,您可以比较字符串$password和PHP手册所说的数组$row。请检查$row变量的值。