使用PHP

时间:2016-10-21 01:48:19

标签: javascript php cookies encoding character-encoding

我正在使用JS,因此请设置以我们提供的课程命名的Cookie。因为它们包含特殊字符和空格,所以我使用encodeURIComponent()对它们进行编码,就像这样(参见最后2行):

$("button[id='ajouter_panier_"+value+"']").click(function(){
        $( "div[id='"+value+"panier']").css( "display", "block" );
        vars++;
        summembre = parseFloat(summembre)+ parseFloat(prixm);
        sumnonmembre = parseFloat(sumnonmembre)+ parseFloat(prixnm);
        $("#nb_"+value+"_cours").text("Qte: "+vars);
        $("#total-commande-nm").text(sumnonmembre.toFixed(2));
        $("#total-commande").text(summembre.toFixed(2));

        titre = encodeURIComponent(titre);              
        setCookie(titre,vars, 1);
    });

然后使用以下编码存储它们:

Initiation%20au%20cadenassage

然后在我想要获取cookie的页面上,我需要使用PHP来完成它。我在我的标题中使用rawurlencode(),然后在我的broswer中查找cookie,如下所示:

$title = rawurlencode($title);  
$counterMessage = $_COOKIE[$title];

当我回复来自新rawurlencoded标题的值时,它会向我显示我在Chrome设置中的Cookie存储中设置的相同内容:

Initiation%20au%20cadenassage

那么,当我在$ _COOKIE []中输入的值与我在cookies存储中看到的值相同时,为什么我无法获取cookie值?

我知道我有良好的道路和一切,因为没有特殊字符和没有空格的课程标题被访问,我可以毫无问题地看到它们的价值。

谢谢。

1 个答案:

答案 0 :(得分:0)

由于您已经在使用JQuery,我建议您使用$.cookie设置并获取Cookie,参考here

您可以尝试使用$.cookie('test', titre)设置编码字符串,并使用$.cookie('test')

获取