2012-10-27 49 views
1

我需要在我的文檔中間製作一些cookie,但是我聽說你輸出任何內容後都不能用PHP創建cookie。所以我決定將我的變量輸出到javascript來設置cookie 。代碼中早先包含了setCookie函數。問題是沒有設置Cookie。如果我將數字值傳遞給click_id或SID,則會設置Cookie,但如果我將字母傳入,則Cookie不會被設置。字符串不能在我的cookies中工作

function setCookie(c_name,value,exdays) 
{ 
var exdate=new Date(); 
exdate.setDate(exdate.getDate() + exdays); 
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
document.cookie=c_name + "=" + c_value; 
} 

<?php echo '<script>setCookie("click_id",'.$_GET["click_id"].',30);setCookie("SID",'.$_GET["SID"].',30);</script>'; ?> 

在此先感謝

回答

2

你試過將它們作爲字符串?我的意思是雙重引用這些值。目前你沒有引用,所以它會嘗試評估爲int。

<?php echo '<script>setCookie("click_id","'.$_GET["click_id"].'",30);setCookie("SID","'.$_GET["SID"].'",30);</script>'; ?> 

的替代,更容易讀爲:

<script> 
    setCookie("click_id","<?php echo $_GET["click_id"]; ?>",30); 
    setCookie("SID","<?php echo $_GET["SID"]; ?>",30); 
</script> 
+0

啊,謝謝,知道這是愚蠢的東西一樣,...可能沒有抓住它,如果你不指出這一點,謝謝! – Snapcaster