你有三种一般方法:
>将上一页存储在会话中;
>将页面存储为GET变量;要么
>对登录页面进行内部重定向.
(1)看起来像:
<?PHP session_start(); if (!$_SESSION['userid']) { $_SESSION['page'] = '/contact'; header('Location: /login'); exit; } ... ?>
成功登录后,可以检索$_SESSION [‘page’]并重定向.
(2)类似,除了没有会话变量.相反,你有:
header('Location: /login?return=/contact');
通过重定向登录页面必须将其作为隐藏的表单字段包含在页面上,向用户显示用户名和密码的请求.
(3)类似,但不会重定向到单独的页面.相反,每个页面都可能是一个登录页面.如果用户没有登录登录表单.网址仍然是“/ contact”.每个页面都将检测并处理登录尝试.
这种方法的优点是少一点外部重定向,它更容易处理提交的表单.这样我就意味着想像有人在你的一个页面填写一个表单,然后点击提交.系统看到他们的登录已经过期.如果您将用户重定向到新页面,然后重新导向,则可能需要重新输入所有表单字段.如果您隐含处理登录,您可以将所有表单字段作为隐藏输入,并将其登录无缝地视为原始页面的提交.
原文地址:https://www.jb51.cc/php/130415.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。