1

まず第一に、私のような質問がたくさんあることを知っています。もちろん、私はそれらをすべて読みましたが、解決策を見つけることができなかったり、問題を解決する方法を理解できませんでした. ここに主な問題があります。Javaスクリプトに連想配列があり、それをシリアル化してCookieに保存したいので、unserializeメソッドを使用してphpでこのCookieを読み取りたいです。そのため、連想配列をシリアル化する適切な方法が見つかりません。

ジャバスクリプトがあります

function renewCookie(){
    var myArray = {radius: radius, type:type, date:price, name:company}
    serializeValue = JSON.stringify(myArray);/* i used this serialize function that i found on web http://phpjs.org/functions/serialize/ but it didn't work.*/
    createCookie('parameters',serializeValue ,999);   
  }
  function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
  }

phpがあります

<?php
    if (isset($_COOKIE["parameters"])){
            $UserParam = json_decode($_COOKIE["parameters"]);/*I unserialize the cookie because i suppose that it is serialized*/
            echo"<script>function readCookie(){ getLocationFunction(".$UserParam["radius"].",\"".$UserParam["type"]."\",\"".$UserParam["date"]."\",\"".$UserParam["name"]."\")}</script>";
    }
    else{setcookie("parameters","$defaultParam",time()+3600);}
?>

javascript によって作成された Cookie を PHP で読み取る方法を知っている人はいますか? また、複数値の Cookie とキーの名前の両方が必要なため、連想配列があることも説明します。私がいくつかのコードを提供するのを手伝ってくれてありがとう。さらに説明が必要な場合は、お問い合わせください。前もって感謝します!!

更新:上記のコードはあなたの提案でうまく機能しますが、オペラ、サファリ、エクスプローラーではなく、FirefoxとChromeでのみ機能します。誰かが私が間違っていることを見ますか??

4

1 に答える 1