2

製品のカートを表示する必要があり、PHP による最初のロードと、jQuery ポストによる残りのクエリ (製品の削除などによる更新) を行う必要があります。

わかりました、問題があります。

[同じphpファイル「any.php」でJSONで変数を取得します]

最初の PHP ロードが機能しませんisset($_COOKIE)。PHP で (curl を使用して) 最初のロードを実行すると NULL が返されますが、.post("any.php")jQuery PHP でメソッドを呼び出すと、製品を含むカートが返されます。

製品を追加するには、PHP関数を使用します

setcookie($cookieName, $createcart, $cookieExpire);

Cookie パラメータ:

session_set_cookie_params(
    time()+3600,
    '/',
    '.test.com',
    0,
    0
);

setCookie (createcart は json 値です):

setcookie($cookieName, $createcart, $cookieExpire);

PHPINFO

session

Session Support enabled
Registered save handlers    files user
Registered serializer handlers  php php_binary wddx

Directive   Local Value Master Value
session.auto_start  Off Off
session.bug_compat_42   Off Off
session.bug_compat_warn Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   .test.com.pe    no value
session.cookie_httponly Off Off
session.cookie_lifetime 1379499657  0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    no value    no value
session.entropy_length  0   0
session.gc_divisor  1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /var/lib/php/session    /var/lib/php/session
session.serialize_handler   php php
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0
4

2 に答える 2

0

から: http://php.net/manual/en/function.setcookie.php

よくある落とし穴:

Cookie が表示されるはずのページが次に読み込まれるまで、Cookie は表示されません。Cookie が正常に設定されたかどうかをテストするには、Cookie の有効期限が切れる前に、次の読み込みページで Cookie を確認します。有効期限は、expire パラメータによって設定されます。Cookie の存在をデバッグする良い方法は、単純に print_r($_COOKIE); を呼び出すことです。

参照: PHP で Cookie を設定してからリダイレクトするにはどうすればよいですか?

于 2013-09-23T12:15:13.193 に答える