1

ドキュメントの途中でクッキーを作成する必要があるのですが、何かを出力した後に PHP でクッキーを作成できないと聞きました。そこで、変数を JavaScript に出力してクッキーを設定することにしました。setCookie 関数は、コードの前半に含まれています。問題は、Cookie が設定されていないことです。click_id または SID に数値を渡すと Cookie が設定されますが、文字を渡すと Cookie は設定されません。

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>'; ?>

前もって感謝します

4

1 に答える 1

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>
于 2012-10-27T00:42:08.997 に答える