用PHP读取cookie

我正在尝试读取一个我专门用javascript,jQuery Cookie插件设置的cookie,之后我用PHP读取它将其写入数据库。

由于某种原因,cookie是在页面加载时创建的,但在页面刷新之前不会“存在”。 这意味着我将空白字段输入我的数据库表。

我能想到的唯一方法是将AJAX输出到创建cookie的脚本。 或者ajax到一个脚本,它在json中将数据返回给我。

用例是我正在为内部项目创建一个简单的分析类,我想在数据库中写入用户分辨率,颜色深度和所有爵士乐,我正在使用screen.width等来获取。

当客户端执行请求时, Cookie数据被发送到服务器(并转发到PHP解释器)。 因此,在从服务器请求页面之后 ,在客户端上由JavaScript设置的cookie将不会被传输,直到下一个请求到同一服务器。

你有什么

您需要做的是执行某种请求(可以通过AJAX完成),其中PHP脚本处理传入的cookie信息并将其存储在DB中。

你需要什么

@jensgram是对的。 这两种情况可能发生:

  1. 用户请求您的页面和(s)他没有cookie。 您通过PHP呈现响应,但您无法在服务器上看到cookie。 响应被传递到浏览器和DOMReady(或类似的事件)您设置cookie。 用户发送另一个请求(通过与您的页面交互)。 这里有服务器上的cookie。
  2. 用户已拥有cookie(返回您的站点)并发送请求。 您通过PHP呈现响应,但这次,cookie在第一次拍摄时可用。 其余的都是一样的。

两个建议:

  1. 要防止在数据库中插入空(或空)值,请首先检查cookie是否存在。 如果没有,只需尝试设置它。
  2. 为了实施Analytics,存在预定义模式。 例如,您可以在每个页面上包含脚本,而不是设置cookie,在加载每个页面时,您可以获得所需的信息,并向Analytics Collector PHP文件发送异步Ajax请求。 不需要cookie 🙂