2013-03-15 50 views
1

我試圖在wordpress網站上設置兩種不同類型的用戶,訪問者或參展商。要做到這一點,我有兩個鏈接在我的header.php的頂部。我的代碼沒有返回Jquery生成的cookie的正確值

<a href="" id="">visitor</a> 
<a href="" id="">exhibitor</a> 

使用jquery.cookie.js,我在我的js文件main.js中設置了一個名爲user_type的cookie。

$('a#btn-visiteur').click(function(){ 
    $.cookie('user_type', 'visitor', { expires: 7, path: '/' }); 
}); 
$('a#btn-exposant').click(function(){ 
    $.cookie('user_type', 'exhibitor', { expires: 7, path: '/' }); 
}); 

回到我的header.php中,我只是想表明我的cookie設置正確,所以我只是在我的文件中回顯cookie。

<?php if(isset($_COOKIE['user_type'])){ 

     if($_COOKIE['user_type'] == 'visitor'){ 
      echo 'visitor'; 
     } 
     if($_COOKIE['user_type'] == 'exhibitor'){ 
      echo 'exhibitor'; 
     } 

} ?> 

使用Firebug,我看到我的cookie被正確設置,但我的PHP代碼沒有返回正確的結果。它只顯示cookie的以前的值。

我希望可以理解我對英語不太熟悉。親愛的人,我需要你的幫助。

預先感謝。

+2

你用JavaScript設置cookie,再後來了網頁檢查與PHP的價值?如果是這樣,PHP不會在重新加載頁面之前知道該值。如果可以,請使用PHP設置cookie。目前,任何用戶都可以使用JavaScript將自己更改爲參展商。 – castis 2013-03-15 16:02:02

+1

Cookies保存在vistor的計算機上。這意味着訪問者可以隨時操作數據。 – c4pone 2013-03-15 16:11:54

回答

0

只需在設置變量後重新加載頁面即可。

例子:

$('a#btn-visiteur').on('click',function(){ 
    $.cookie('user_type', 'visitor', { expires: 7, path: '/' }); 
    location.reload(); 
}); 
+0

不幸的是,這不起作用,我已經使用這些鏈接重新加載頁面。感謝您的幫助。 – user2174594 2013-03-18 09:27:13