更新用户信息无效

时间:2015-11-25 18:37:40

标签: php mysql session

将数据粘贴到表单中并单击提交按钮后,即使粘贴了正确的密码,我也会收到错误信息“密码错误”。有人可以帮帮我吗?

<?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>";
        }
    }
}
?>

2 个答案:

答案 0 :(得分:0)

PHP手册说: mysql_fetch_array - 将结果行作为关联数组,数字数组或两者获取。 如果你比较的语句可能是$ password,这是字符串和$ row,PHP手册说的是数组。 请检查$ row变量的值。

答案 1 :(得分:0)

更改

if ($password != $row) {

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