Cookie 在 PHP 中不起作用,但可以工作 Javascript


Cookies do not work in PHP but do work Javascript

我需要查看产品的购物车,我需要通过PHP进行第一次加载,并通过jQuery帖子进行其余查询(通过删除产品或类似产品进行更新)。

好的,有问题了。

[我通过 JSON 在同一个 php 文件"any.php"上获取变量]

当我在 PHP 上执行第一个isset($_COOKIE)(通过 curl)并返回 NULL 时,第一次 PHP 加载不起作用,但是.. 如果我在 jQuery PHP 上调用方法.post("any.php"),它会返回带有产品的购物车。

对于添加产品,我使用PHP函数

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

饼干参数:

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

来自: http://php.net/manual/en/function.setcookie.php

常见陷阱:

Cookie 在下次加载以下页面之前不会变得可见 饼干应该是可见的。测试饼干是否成功 设置,在 cookie 之前的下一个加载页面上检查 cookie 到期。过期时间通过过期参数设置。一个好方法 调试 cookie 的存在是通过简单地调用 print_r($_COOKIE);.

另请参阅:如何在 PHP 中设置 cookie 然后重定向?

也许问题是饼干的路径。您需要在整个页面中相应地编写它以工作。

路径

服务器上提供

Cookie 的路径。如果设置为"/",则 Cookie 将在整个域中可用。如果设置为 '/foo/',则 cookie 仅在/foo/目录和所有子目录(如域的/foo/bar/)中可用。默认值是设置cookie的当前目录。

与 http://www.php.net/manual/en/function.setcookie.php 相比

相关文章: