私はクッキー内の既存の配列変数に値を追加したいと思います。PHP - ボタンクリック時にクッキー内の既存の配列に値を追加
は現在、私は、Ajaxを使用して、私のクッキーを設定します。
アヤックス:
function setcookie(productid){
$.ajax({
type: 'POST',
url: "setcookies.php",
data: {
id: "productid"
},
success: function (e) {
alert(e);
}
});
}
PHP setcookies.php
<?php
$cookiename = "products";
$cart = array();
$pid = $_POST['id'];
array_push($cart, $pid);
setcookie($cookiename, serialize($cart), time() + 3600, "/");
$_COOKIE[$cookiename] = serialize($cart);
私はaddproductボタンますsetcookie()関数が呼び出されますクリックします。 addproductボタンを3回クリックすると、製品の3つのIDをクッキー配列に追加する必要がありますが、私のページにクッキーが表示されるページにアクセスすると、最後に追加されたproductidのみが表示されます。
ありがとうございました。 MY WORKINGコードの
編集:コードの下
が私の最後に動作します: はわずかドミニクによって答えたコードを変更しました。あなたのコードで
$cookiename = "products";
$cart = null;
$pid = $_POST['id'];
if (!empty($_COOKIE[$cookiename])) {
$cart = unserialize($_COOKIE[$cookiename]);
array_push($cart, $pid);
} else {
$cart = array();
array_push($cart, $pid);
}
setcookie($cookiename, serialize($cart), time() + 3600, "/");
$_COOKIE[$cookiename] = serialize($cart);
を動作するはず? –
@ka_linどうすればいいですか?クッキーが新しくて申し訳ありません。 – iamj
@iamj:クライエント側のクッキーの説明については、https://stackoverflow.com/questions/14573223/set-cookie-and-get-cookie-with-javascriptを参照してください。 –