PHP更新密码,如果为空则保存默认密码


php update password or save default if it is blank

谁能指出我如何保存默认密码,如果它是空白的?这是更新的问题。当用户更新他们的个人资料时,我正在制作一个更新页面。这是一个很长的个人资料信息。我没有把它都贴在这里,因为我唯一的问题是密码字段。即使它是空的,它仍然更新数据库上的字段。我使用md5加密。下面是代码。请加上代码,你的代码。谢谢你。

id =1,因为我只是在测试它。在userstest表中只有一个数据

    $desire= $_POST['desired'];//username field
    $password = md5(trim(mysql_prep($_POST['password'])));//password field
    $passconfirm = md5(trim(mysql_prep($_POST['confirmpassword']))); //confirmpasswor field
    $sql = mysql_query("UPDATE userstest SET username = '$desire',password='$password',confirmpassword='$passconfirm' WHERE id=1");
    if(mysql_affected_rows()==1){
    echo "Update Successfull";
    }else{
    echo "Update Failed" . mysql_error();
    }

在构建查询时添加if条件

$sql = "UPDATE userstest SET username = '$desire'"; 
if($password) {$sql += ",password='$password',confirmpassword='$passconfirm'";}
$sql += " WHERE id=1";
然后运行查询mysql_query($sql);

如果passwordconfirmpassword列为空,则不更新这些列。在这种情况下,不要将它们添加到SQL查询中。

顺便问一下,你为什么要保存confirmpassword ?这不应该总是和password一样吗?它通常只在PHP脚本的if语句中使用,以查看用户没有输入错误。