gpt4 book ai didi

php登录后导航到上一页解决方法

转载 作者:行者123 更新时间:2023-11-28 20:30:56 27 4
gpt4 key购买 nike

因此,出于某种原因,我尝试了 http_referer 但它对我不起作用......或者也许是,但这就是我尝试解决方法的原因。我正在浏览器中测试登录脚本,我希望用户返回到他们正在访问的上一个页面。

我遇到的问题是,当我输入登录凭据时,Firefox 和 Chrome 会弹出一个“保存密码”选项,我认为它就像一个页面。所以当http_referer被调用或者当

echo '<script type="text/javascript">javascript:history.go(-1);</script>';

页面仍然是登录页面!好吧,如果用户单击一次“不保存”并且该选项被保存......那么使用history.go(-2)将不起作用。这是我尝试过的解决方法,但无法使其发挥作用。

最初,如果登录信息正确,我会调用第一个history.go(-1)。然后我使用这个函数来获取当前页面,如果它与login.php匹配,我想再返回一页!但这不起作用。请多多指教

if($login_check > 0){
echo '<script type="text/javascript">javascript:history.go(-1);</script>';
function curPageName() {
return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
$curpage = curPageName();
if ($curpage = "login.php"){
echo '<script type="text/javascript">javascript:history.go(-1);</script>';
}
}

我还阅读过如何使用 session ,但我的 session 数组保存了购物车的数据,因此我不确定如何使用 session 进行导航。

最佳答案

为什么不将重定向到登录页面的页面 URL 存储在 session 中,然后在成功登录时重定向到该页面?这样,即使用户尝试登录几次失败,他们仍然会到达正确的页面。

与 JavaScript 相比,此方法的另一个好处是重定向是在页面请求的 header 中发送的,无需发送用户 js。

当用户未登录时,将 URL 保存为 session 变量。

// not logged in
$_SESSION['redirect_url'] = 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
//now redirect to login page, something like
header("Location: http://www.site.com/login");

Nb。上面的 URL 是粗略构建的,如果您使用 SSL 或其他端口(不是 80),您需要相应地更改它。

登录成功后获取

//login successful 
header("Location: ".$_SESSION['redirect_url']);
exit;

关于php登录后导航到上一页解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16407710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com