我想设置会话点击链接,所以登录后,用户将重定向到上次访问的页面。
例如:
步骤1:用户打开主页。(seesion url设置为主页
$_SESSION['url'] = $_SERVER['REQUEST_URI'])
第二步:下一步在新选项卡中,用户将打开联系人页面(再次会话变量重置)
第三步:用户进入首页,点击登录链接。(因为没有重新加载页面,所以没有设置会话)
第四步:登录后,用户将重定向到联系人页面。
但这里我想要用户被重定向到用户点击链接登录的地方。
我试着用下面的代码,但它对我不起作用。
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。
有谁能帮我这个忙吗。
您并不一定要使用会话来实现这一点。您可以基于$_Server['HTTP_Referer']重定向用户。这会告诉你上次访问的页面。您甚至可以根据需要在这里添加一些过滤。
if($_SERVER['HTTP_REFERER']!='' && stripos($_SERVER['HTTP_REFERER'],'mydomain.com')!==false){
header('location:'.$_SERVER['HTTP_REFERER']);
exit;
}
$_session['url']
与$url
不相同
在html中,更改<?php echo$URL;?>
到<?PHP echo$_session['url'];?>