使用PHP登录后重定向到上一页

假设我想导航到联系页面.但为了到达那里,该网站要求我登录.登录后,我应该被重定向到联系页面,但我在别的地方.我应该怎么做,我应该在登录重定向到我想要的页面

我有一个强烈的感觉,这与会议有关,但仍然.应该采取什么方法

你有三种一般方法

>将上一页存储在会话中;
>将页面存储为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”.每个页面都将检测并处理登录尝试.

这种方法的优点是少一点外部重定向,它更容易处理提交的表单.这样我就意味着想像有人在你的一个页面填写一个表单,然后点击提交.系统看到他们的登录已经过期.如果您将用户重定向到新页面,然后重新导向,则可能需要重新输入所有表单字段.如果您隐含处理登录,您可以将所有表单字段作为隐藏输入,并将其登录无缝地视为原始页面的提交.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...