0

我有一个练习网站,其中一个页面是关于管理用户的。我已经完成了 JS 和 PHP 的所有数据验证。但是,对于管理用户,我基本上有 3 个操作:添加、更新、删除。当我添加用户时,我会使用重复密码字段检查用户将拥有的密码。现在,当我将保存到 MySQL 数据库时,只是为了不使用纯文本密码(为了练习),我使用 SHA1。因此,当我搜索用户并填写表格时,我只有密码的 SHA1 字符串。我可以使用什么解决方法来更新用户密码?我认为,不确定,

提前致谢。

4

2 回答 2

0

使表单上的密码字段不需要,如果为空,则在 POST 时跳过它,或者如果输入了新的,则写入新的。

于 2013-09-06T19:07:13.267 回答
0

通常,当您保存用户密码时,您会使用 SHA1 或 MD5 对其进行加密。当您保存表单时...如果填写了密码和密码确认,那么您才真正更新用户的密码。否则,您只需忽略密码字段并更新其余列。

所以像:

<?php

if(isset($_POST['password']) && (bool)$_POST['password'] && isset($_POST['password_confirm']) && (bool)$_POST['password_confirm']){
    $sql = "UPDATE users SET password='$password', name='$name'... WHERE id='$id'";
} else {
    $sql = "UPDATE users SET name='$name'... WHERE id='$id'";
}

?>
于 2013-09-06T19:08:49.773 回答