2012-08-23 71 views
1

基本上我想通過url(例如www.website.com/?id=432432)抓取一個id發送,並將其與我的網站相關聯,直到用戶點擊聯繫頁面。我創建了一個變量,變量會話價值不傳遞到下一頁

session_start(); 
$getId = $_GET["id"]; 
$_SESSION['session_browser_test'] = $getId; 
$adv_id = $_SESSION['session_browser_test']; 

一個會話,並在我的index.php Joomla模板使用

echo $adv_id; 

所以它適用於所有頁面。

但問題是,當我去www.website.com/?id=432432它與我的網頁上的ID相呼應,但如果我點擊下一個鏈接轉到另一個頁面(例如www.website .com/nextPage)它不會保留上一頁的會話值。這是爲什麼?以及我如何通過網站攜帶身份證件?

+4

你做了'session_start()'嗎? – xdazz

+0

是的,我做到了。對不起,忘了提。 – nasty

+0

確實_you_變成了_off_餅乾? (sry) – TheHe

回答

0
if(isset($_GET["adv_id"])){ 
    $_SESSION['session_browser_test2'] = $_GET["adv_id"]; 
    $adv_id = $_SESSION['session_browser_test2']; 
} 
else { 
    $adv_id = $_SESSION['session_browser_test2']; 
} 
1

在每一頁

session_start(); 

啓動會話爲了訪問會話變量,你必須調用$ _SESSION變量。

echo $_SESSION['session_browser_test']; 
2

,你不會得到從下頁網址的ID,可能

echo $getId; 

,而不是你需要使用的ID從會議一樣,

$_SESSION['session_browser_test']; // your id stored in session 
+1

我正在努力做同樣的事情,你說的。但它沒有出現。 – nasty

0

HTTP是無狀態的,所以你必須做些事情來記住整個網站的變量。 請確保您正確使用會話,如session_start(); 當你通過get方法發送你的id時,它可以工作,但是當你轉到任何其他頁面時,記住這個沒有任何意義。 通過網頁用這個發送ID:

<?php echo get_permalink(910); ?>?userid=<?php echo $value['userId'];?> 

在URL發送今明頁面上使用爲:使用這種方法

$sql = "select * from `wp_pelleresuser` where userId =".$_GET['userid']; 

,你可以選擇你想要不使用每一頁上使用單個變量會話。試試谷歌如何通過所有頁面WordPress管理變量,而不使用會話。它會幫助你。 快樂編碼!

+0

謝謝@Gaurav。但我使用Joomla。 – nasty

0

開始

session_start(); 

在您的應用程序的根目錄(如果未啓動)在index.php(會話可能會開始每隔幾頁),然後調用(需要時):

$_SESSION['session_browser_test']; 

,而不是將這個sess var賦給你自己的變量,然後在不同的地方調用它。

相關問題