我的代码很简单:
<?php
session_start();
session_regenerate_id();
?>当我第一次请求这个页面时,HTTP请求没有cookie,然后它会响应两个'set-cookie:PHPSESSID=xxxxxx‘,然后我想我可能会写这样的代码:
<?php
session_start();
if(!empty($_SERVER['HTTP_COOKIE'])){
session_regenerate_id();
}
?>然而,无论我的HTTP请求是否带有cookie: PHPSESSID=xxxxxx,它都将只返回一个“set-cookie:PHPSESSID=xxxxxx”
然而,我的解决方案非常笨拙。任何专业的PHPer都可以告诉我,如何写一个专业的代码来处理这个问题,这是HTTP请求可能与cookie 'PHPSESSID‘或没有cookie 'PHPSESSID’。
发布于 2016-07-05 16:00:36
看一看session_start()
session_start()根据通过GET或POST请求传递或通过cookie传递的会话标识符来创建会话或恢复当前会话。
因此,当您不需要PHPSESSION-Cookie时,需要删除session_start()
发布于 2016-07-05 16:16:40
使用setcookie(' cookie _name','some_value')设置cookie,然后使用$COOKIE‘COOKIE_name’获取COOKIE。检查cookie和会话的差异,以便确定您的操作需要cookie :)
https://stackoverflow.com/questions/38198081
复制相似问题