0

从理论上讲,我会向您展示有效的代码,我的意思是,这很有意义,但我无法在表格中得到任何更改!:\

所以,这里是代码:

else if ($mode == 'password') {
    $generated_password = substr(md5(rand(999,999999)), 0, 8);
    change_password($user_data['user_id'],$generated_password);         
    update_user($user_data['user_id'], array('password_recover' => '1'));
    email($email, 'Your new password', "Hi," . $user_data['nome'] . " \n\nYour new password is: " . $generated_password . "");
}

功能:

function update_user($user_id,$update_data){
    $update = array();     
    array_walk($update_data, 'array_sanitize'); 
    foreach($update_data as $field => $data) {
            $update[]='`' .$field. '`=\'' .$data . '\'';
    }
    mysql_query("UPDATE users SET " . implode(', ',$update) . "WHERE user_id = '$user_id'");
}

function change_password($user_id,$password) {
    $user_id = (int) $user_id;
    $password = md5($password);

    mysql_query("UPDATE users SET password = '$password' WHERE user_id = $user_id");
}

我什至没有编写电子邮件功能,因为它有效。提前致谢!:)

4

1 回答 1

0

您应该在代码中添加某种错误处理。至少or die('Error: '.mysql_error())在每个之后添加mysql_query()以至少了解执行查询时出了什么问题。

如果您只是从某个地方获取代码并且并不真正理解它的作用,请不要感到惊讶,如果它没有按照您的意愿执行。

于 2013-01-09T21:09:03.407 回答