我在mysql数据库中的更新查询遇到了一些麻烦。 我有一个登录表单,当用户登录时,会创建用户的电子邮件,密码和ID并将其存储在会话中(不确定这是否是最安全的方式,请告诉我正确/最安全的方式)。当他们登录时,他们可以去改变他们的密码(或者应该是)。问题是更新密码查询对我不起作用。
以下是我的代码,用于设置用户登录时的ID,电子邮件和密码:
session_start();
$_SESSION['id'] = $id;
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;
以下是用于更新密码的代码:
session_start();
if (isset($_POST['email']) && isset($_POST['password']) && isset($_POST['newPassword']) && isset($_POST['oldPassword'])) {
$email = $_POST['email'];
$password = $_POST['password'];
$newPassword = $_POST['newPassword'];
$oldPassword = $_POST['oldPassword'];
mysql_select_db("users", $conn);
if(isset($_POST['update'])) {
$update = "UPDATE users SET Password='$newPassword' WHERE Password='$_POST[hidden]'";
mysql_query($update, $conn);
$_SESSION['password'] = $newPassword;
}
我有一个“旧密码”框,用于检查旧密码是否正确以及“新密码”框,该框是用户点击“更新”时的新密码。
问题是当我点击更新时没有任何反应。我尝试使用mysql_error()函数,但它没有用。页面刷新太快。 请注意,如果您要下载它,这不是所有代码: https://www.mediafire.com/?fkjwt58hk5kyt3w 嗨伙计们,我在mysql数据库中的更新查询有点麻烦。 我有一个登录表单,当用户登录时,会创建用户的电子邮件,密码和ID并将其存储在会话中(不确定这是否是最安全的方式,请告诉我正确/最安全的方式)。当他们登录时,他们可以去改变他们的密码(或者应该是)。问题是更新密码查询对我不起作用。
我知道这种mysql服务方式非常不安全,容易受到sql注入和旧方式的影响,但这只是练习而且很有趣。之后,我将学习如何防止sql注入和XSS。
我已经准备好在这个网站上有其他类似问题,但他们根本没有帮助我,我搜索了很多谷歌并在YouTube上搜索了它。无处可寻!!!!
请帮忙! Thanx提前
如果还有其他什么你想要我发帖或者我没有说什么,请告诉我。
PS:如果可以,请下载所有文件并检查并自行运行:)
答案 0 :(得分:0)
你试过调试吗? ;)
$result = mysql_query($update, $conn);
if(!$result){
echo mysql_error();
exit;
}
答案 1 :(得分:0)
你需要发布你得到的错误。
从我看到的我可以猜到where子句没有按照需要得到解决。
你写过WHERE Password='$_POST[hidden]'
可能应该使用变量。
$oldpassword=$_POST['hidden']
和
WHERE Password='$oldpassword'
答案 2 :(得分:0)
运行sql时请使用调试代码
mysql_query($update, $conn)or die(mysql_error);
这样你就可以得到错误