提问者:小点点

如何在php中设置会话变量onclick


我想设置会话点击链接,所以登录后,用户将重定向到上次访问的页面。

例如:

步骤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。

有谁能帮我这个忙吗。


共2个答案

匿名用户

您并不一定要使用会话来实现这一点。您可以基于$_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'];?>