0

我想在单个 php 页面中实现特定功能(例如:忘记密码),而不是在更改密码的每个阶段都重定向到另一个页面。例如,当用户单击忘记密码链接时。

  1. 转到forgot.php
  2. 将链接发送到电子邮件/手机。
  3. 验证代码。
  4. 提示用户输入新密码。
  5. 更新密码。

我想在一个 php 页面中实现上述所有功能。可能吗?如果是,如何?

4

2 回答 2

3

是的,有可能。

通过PHP本身,你可以做到。

根据 url 参数/表单发布的值,您可以切换功能。

例如

<?php
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
switch ($page) {
  case 'forgot_form':
  // Your HTML and PHP here
  break;
  case 'prompt_change_password':
  // Your HTML and PHP here
  break;
//... AND MORE
}
?>
于 2013-09-30T16:07:30.287 回答
2

您需要使用 AJAX 来完成此操作。您需要按照以下方式做一些事情:

  1. 用户访问 forgot.php,它会显示一个表单,提示您输入电子邮件/帐户名称以进行恢复。这个表单不应该有一个 submit() 按钮,而是一个触发 JavaScript 的按钮。
  2. 当用户单击按钮时,JS 代码会收集字段(电子邮件/用户名)中的值,并向提供此信息的服务器发起 AJAX 请求。它还可以将输入区域更改为“请稍候”通知
  3. 服务器接收用户名/电子邮件,如果帐户存在则发送电子邮件,然后返回 JSON 响应,指示是否找到该帐户
  4. 客户端 JS 代码处理 AJAX 完成事件并显示“找不到帐户”消息或通知用户检查他们的电子邮件并将可见元素更改为验证码输入。
  5. 用户输入代码并按下触发 JS 调用的另一个按钮。
  6. JS 函数发送带有验证码的 AJAX 请求。
  7. 服务器验证代码并发送是/否 JSON 响应
  8. JS 代码处理 AJAX 完成事件,如果代码无效或将可见元素更改为新密码输入,则通知客户端
  9. 用户输入新密码并按下启动 JS 调用的按钮
  10. JS 代码通过 AJAX 将新密码发送到服务器
  11. 服务器设置新密码并以成功/失败消息进行回答
  12. JS 代码处理 AJAX 调用的完成并通知客户端成功/失败,成功时将它们发送到登录页面。
于 2013-09-30T16:16:46.070 回答