簡體   English   中英

如何在php中設置會話變量onclick

[英]How to set the session variable onclick in php

我想在單擊鏈接時設置會話,因此登錄后用戶將重定向到上次訪問的頁面。

例如:

步驟1:用戶打開首頁。(查看網址設置為首頁)

$_SESSION['url'] = $_SERVER['REQUEST_URI'])

步驟2:新標簽頁中的下一個用戶將打開聯系頁面(再次重置會話變量)

第三步:用戶將進入首頁並單擊登錄鏈接。(未設置會話,因為沒有重新加載頁面)

步驟4:登錄后,用戶將重定向到聯系頁面。

但是在這里我希望用戶重定向到用戶單擊了登錄鏈接的位置。

我嘗試使用以下代碼,但對我不起作用。

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 $url; ?><?php echo $_SESSION['url']; ?> <?php echo $_SESSION['url']; ?>

需要兩頁。第一頁用於調用(單擊)會話,另一頁通過ajax設置會話的值。

< a href="#" onclick="setsession()" style="color:#993b05"> Login </a>
<br/>
<script>
<br/>
function setsession(){<br/>
if (window.XMLHttpRequest)  <br/>
  {// code for IE7+, Firefox, Chrome, Opera, Safari<br/>
  xmlhttp=new XMLHttpRequest(); <br/> 
  }<br/>
else<br/>
  {// code for IE6, IE5<br/>
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");<br/>
  }<br/>
xmlhttp.onreadystatechange=function()<br/>
  {<br/>
  if (xmlhttp.readyState==4 && xmlhttp.status==200)<br/>
    {<br/>
    document.getElementById("scat").innerHTML=xmlhttp.responseText;<br/>
    }<br/>
  }<br/>
<br/>
xmlhttp.open("post","setsession.php",true);// calls a page  where u can set session <br/>
xmlhttp.send();<br/>
}<br/>
</script><br/>
if(isset($_GET['link']))<br/>
{<br/>
$_SESSION['url'] = $_GET['link'];<br/>
<br/>
}<br/>
header("Location:redirect.php");<br/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM