【发布时间】:2014-07-17 05:36:09
【问题描述】:
我想在点击链接时设置会话,以便登录后用户将重定向到上次访问的页面。
例如:
Step1 : 用户打开主页。(seesion url set to home page
$_SESSION['url'] = $_SERVER['REQUEST_URI'])
step2 : 接下来在新标签中,用户将打开联系人页面(再次重置会话变量)
第3步:用户会来到主页并点击登录链接。(会话未设置,因为没有重新加载页面)
第四步:登录后用户会跳转到联系页面。
但在这里我希望用户被重定向到用户单击登录链接的位置。
我尝试使用以下代码,但它不适合我。
PHP 代码:
session_start();
$_SESSION['url'] = $_SERVER['REQUEST_URI'];
$url=$_SESSION['url'];
HTML 代码
<div class="gallery_div">
<p>
Please Click <strong><a href="login.php?link=<?php echo $url; ?>" style="color:#993b05"> here </a></strong>to login
</p></div>
在登录页面
session_start();
if(isset($_GET['link']))
{
$_SESSION['url'] = $_GET['link'];
}
当重定向此页面时,它带有参数,因此找不到页面。因为那里只有 login.php。
任何人都可以帮助我解决这个问题。
【问题讨论】:
-
问题:你没有打开会话。在写入会话之前尝试调用
session_start。 -
对不起,我忘记了。但在使用的代码中。
-
$urldefined 在哪里? -
您点击登录链接时的网址是否正确?尝试回显
$_GET['link']和$_SESSION['url']。如果您做对了,您可能需要使用header('Location:'.$_SESSION['url']);进行重定向。否则请检查您是否在错误的位置重置或销毁会话。 -
尝试 print_r($_SERVER) 查看最后一页的正确变量是什么,因为在本地主机上它可能无法像在特定域上那样工作。
标签: javascript php jquery html session