【发布时间】:2012-07-22 17:22:45
【问题描述】:
彻底搜索了我的代码后,我可以确定此错误的唯一原因是我用于将字符串转换为 MD5 的技术无效。但是我找不到其他方法。
$username = $_POST['username'];
$password = $_POST['password'];
$repassword = $_POST['repassword'];
if( $password=$repassword ) {
$con=mysql_connect("localhost", "root", "");
if( $con == true ) {
mysql_select_db("movedb", $con);
//$newpassword = mysql_real_escape_string(md5($_POST['password']));
$query = "UPDATE user SET password=MD5('$password') WHERE username='$username'";
// $query = "UPDATE user SET password='$newpassword' WHERE username='$username'";
$result = mysql_query($query, $con);
if( $result == true ) {
echo "Successfully saved your message";
} else {
echo mysql_error();
}
mysql_close($con);
} else {
echo "Cannot connect to the database";
}
} else {
echo "Passwords do not match!";
}
关于如何从 PHP 更新此 MD5 值的任何想法
【问题讨论】:
-
并修复那个 IF,你正在分配给它,你没有比较
-
没有得到错误信息
-
@Yoosuf,如果没有错误,那么您需要告诉我们您对代码的期望,以及它是什么,没有交付什么。
-
我希望密码在转换为哈希值后在数据库中得到更新。然而,即使在 PHPMyAdmin 中,SQL 似乎也没有给出任何结果
-
不要使用 md5 等普通散列函数进行密码散列。使用 bcrypt 或类似结构。