2012-03-21 101 views
1

現在我的php會話加載時,我加載頁面。代碼如下所示:點擊鏈接時激活PHP會話

<?php 
session_start(); 
$_SESSION['started'] = true; 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <title>First page</title> 
    </head> 
    <body> 
     <a href="WHEN CLICK ON THIS LINK I WANT THE PHP SESSION TO START">LINK</a> 
    </body> 
</html> 

我想要做的是不是PHP會話負載在頁面加載時我想,當用戶點擊該鏈接就可以加載。

+0

我可以看到這種情況發生的唯一方法是,如果你做一個AJAX調用一個啓動會話的頁面。但是,有什麼意義呢?會話在當前頁面中不起作用,除非它也調用session_start(); – 2012-03-21 15:09:14

回答

2
<?php 
session_start(); 
if(isset($_GET['link'])) { 
    $_SESSION['started'] = true; 
} 
?> 

<a href="?link"> LINK </a> 
+0

很酷 - 但如果我想將用戶發送到新頁面並開始會話,該怎麼辦?而當我點擊鏈接時,這兩件事情都發生了? – Emil 2012-03-21 15:15:05

+0

你可以通過確定用戶是否點擊鏈接來做到這一點。例如你可以定義一個定位標記,該定位標記重定向到另一個頁面' LINK',並在anotherpage.php中定義相同的條件(參考我的答案),並且你很好。 – 2012-03-21 15:18:28

+0

不要忘記將帖子標記爲已回覆,如果它可以幫助你。 :) – 2012-03-21 15:19:12

0

你可以做

<?php 

if(isset($_GET['session'])) { 
    session_start(); 
    $_SESSION['started'] = true; 

} 
?> 

<a href="?session=1">LINK</a> 

此重新加載整個頁面,AJAX調用會好得多