2013-02-09 63 views
-1

我想爲訪問者保存一個cookie。我使用下面的代碼,但它似乎不適合我。請指導我在哪裏,我錯了保存用戶cookie不起作用

<script type="text/javascript"> 
    if(!isset($_COOKIE['visited_alreadyxxx'])) 
    { 
     setcookie('visited_alreadyxxx' , 'true' , time()+60*60*24*7*365); 
     alert("hi"); 
    } 
</script> 

demo

編輯:上面的代碼對不起,暫時下面的代碼正常工作?

<?php 
    if(!isset($_COOKIE['visited_alreadyxxx'])) 
     { 
      setcookie('visited_alreadyxxx' , 'true' , time()+60*60*24*7*365); 
      ?> 

<script>alert("hi");</script> 
<? 
     } 

?> 
+2

您似乎在混合PHP和JavaScript。你不能那樣做。 JavaScript引擎將嘗試調用'isset'並創建運行時錯誤,因爲我假設'isset'沒有被定義。 – 2013-02-09 03:50:19

+0

我正要和費利克斯國王說同樣的話。 'isset'和'$ _COOKIE'是PHP的東西。 – Piccolo 2013-02-09 03:51:38

+0

哦,對不起,我是新的編碼的東西。我們可以設置沒有PHP的cookie? – 2013-02-09 03:53:38

回答

0

我不認爲你可以像這樣訪問cookie。它似乎是PHP,與Javascript混合在一起。

  1. isset()函數是一個PHP函數
  2. $ _COOKIE是你如何在PHP訪問的cookie
  3. 的setcookie也是PHP
  4. 警報的JavaScript。

Javascript解釋器不知道如何解析PHP,並且將無法執行。

+0

哦,對不起,我是新的編碼stuffs.Cant我們設置Cookie沒有PHP? – 2013-02-09 03:54:09

+0

是的請參閱:http://stackoverflow.com/questions/13154552/javascript-set-cookie-with-expire-time – Julio 2013-02-09 03:56:46

+0

嘿我的PHP代碼工作正常。如何改變這個時間()+ 60 * 60 * 24 * 7 * 365到1小時? – 2013-02-09 04:01:09