-1

サイトに「最近見た製品」機能を追加しようとしています。だから私は最近見た製品をクッキーに追加したい。ユーザーが商品の詳細ページに移動したときに Cookie を設定します。そのため、Cookie 設定コードは詳細ページにあります。私がしようとしていること

setcookie('recentviews', $productid, time()+3600,'/')

私が必要なのは

recentviews1 =>1
recentviews2 =>5
recentviews3 =>3

また

recentviews (
[0] => 1,
[1] => 5,
[2] => 3
)

ループでクッキーを設定するなど、多くの解決策を試しましたが、すでに設定されているビューの数を知る方法で、「recentviews」をインクリメントして新しいクッキーを設定できます。

4

2 に答える 2

1

私はおそらく次のようなことをするでしょう(Cookieのコンテンツにoblysafeデータが含まれていると想像してください):

# basic cookie structure:
$recent_views = array(
    # 'product_id' => 'value',
    32324 => 2,
    32455 => 23,
);


# to add a value in a request handler:
$recent_views = json_decode($_COOKIE['recentviews']);
$recent_views[ 32342 ] = 32;
setcookie('recentviews', json_encode( $recent_views ), $expi_time );

簡潔にするために、エラー チェックは省略されています。

Jsonには、ブラウザのjavascriptでCookieを簡単にデコードでき、そこで変更を加えることができるという利点があります..(私がすることではありませんが、それでも可能性はあります)。

乾杯 -

于 2013-09-19T11:18:17.480 に答える
0

以下の例に従うことができます

$info[7][5]=1;
$info[8][5]=1;

データのシリアル化:

setcookie('cookie', serialize($info), time()+3600);

次に、データのシリアル化を解除します。

$data = unserialize($_COOKIE['cookie']);

data の後、$info と $data は同じ内容になります。

于 2013-09-19T11:15:38.907 に答える