这是场景。用户想要更改他的密码。因此,他登录并填写他想要的新密码并点击提交。后端PHP检查他的代码并在MySQL数据库中更新它。用户被带回到同一页面(带有表格),并通过位于页面顶部的这一小段通知他的密码已成功更改。通知用户他的密码已通过短信在同一页面上更改(使用PHP或AJAX?)
是否有可能只使用PHP(不使用jQuery)?
道歉,如果我措辞不好我的问题。
这是场景。用户想要更改他的密码。因此,他登录并填写他想要的新密码并点击提交。后端PHP检查他的代码并在MySQL数据库中更新它。用户被带回到同一页面(带有表格),并通过位于页面顶部的这一小段通知他的密码已成功更改。通知用户他的密码已通过短信在同一页面上更改(使用PHP或AJAX?)
是否有可能只使用PHP(不使用jQuery)?
道歉,如果我措辞不好我的问题。
您也可以不使用AJAX。
您可以通过在会话中保留一些标志来做到这一点。 当用户的口令在后端改变,设置$_SESSION['passwordChanged'] = true.
在起始页检查$_SESSION['passwordChanged']
是否设置为TRUE如果你想要这个 则显示你的passwordd改变一个DIV和复位会话变量$_SESSION['passwordChanged'] = false;
是的,它可以通过使用AJAX。如果PHP后端返回成功,则更新div
(或其他任何元素)以显示成功的密码更改。
谢谢艾伦。我希望在没有Ajax的情况下做到这一点。 – dave 2010-09-10 07:23:48
不客气,戴夫。 – 2010-09-10 07:24:57
无JavaScript工作,然后设置会话变量。因此,在你的逻辑,你会(伪代码):
$sql = "UPDATE user SET password = ?";
$db->prepare($sql);
$db->execute(array($_POST['password'])); // password would also be hashed, presumebly
if ($db->rowCount()==1) {
$_SESSION['password_changed'] = true;
}
然后在页面上您将用户重定向到,这头:使用JavaScript
if ($_SESSION['password_changed']) {
$message = "";
unset($_SESSION['password_changed']); // no longer needed
}
if (strlen($message) > 0) {
echo '<p class="message">' . $message . '</p>';
}
然后,在隐藏信息页面加载和做你想做的事情,无论是消息消失,还是丢弃消息等。
谢谢马丁。这是一个很好的解决方案。 – dave 2010-09-10 07:38:08
谢谢Maulik。这是一个很好的解决方案 – dave 2010-09-10 07:22:19