在单个PHP页面中实现多种功能

时间:2013-09-30 16:02:12

标签: php url redirect

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

  1. 转到forgot.php
  2. 将链接发送至电子邮件/手机。
  3. 验证代码。
  4. 提示用户输入新密码。
  5. 更新密码。
  6. 我想在一个php页面中实现所有上述功能。可能吗?如果是,怎么样?

2 个答案:

答案 0 :(得分:4)

是的,它可能。

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

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

e.g。

<?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
}
?>

答案 1 :(得分: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. 服务器设置新密码并使用成功/失败消息回答
  13. JS代码处理完成AJAX调用并通知客户成功/失败,并在成功时将它们发送到登录页面。