Php 浏览器关闭后如何保留sessionID?

Php 浏览器关闭后如何保留sessionID?,php,cookies,Php,Cookies,这是我的php代码 <?php session_start(); print_r($_COOKIE); ?> 当我用浏览器关闭并再次点击我的php文件时。我知道了 Array ( [PHPSESSID] => r0qaqm2h9o1oj5p70gpgi8k0c7 ) 我想在cookies中保存会话Id。所以,当我关闭浏览器并再次点击文件时,每次点击时我都会得到相同的会话id,直到用户清除cookie 会话不应该这样做。每次关闭浏览器时,会话都会被破坏。你需要的是设

这是我的php代码

<?php  
 session_start();
 print_r($_COOKIE);
?>
当我用浏览器关闭并再次点击我的php文件时。我知道了

Array ( [PHPSESSID] => r0qaqm2h9o1oj5p70gpgi8k0c7 ) 

我想在cookies中保存会话Id。所以,当我关闭浏览器并再次点击文件时,每次点击时我都会得到相同的会话id,直到用户清除cookie

会话不应该这样做。每次关闭浏览器时,会话都会被破坏。你需要的是设置cookies

饼干

<?php
if(!isset($_COOKIE['cookiename']))
{
setcookie('cookiename','cookievalue',time()+3600);// This cookie lives for an hour
}
else
{
echo "Welcome ".$_COOKIE['cookiename'];
}

检查您以前是否保存过它;如果没有:现在用当前PHPSESSID保存它

if(!$_COOKIE["SAVED_PHPSESSID"]) {
    setcookie("SAVED_PHPSESSID", $_COOKIE["PHPSESSID"], time() + (365 * 24 * 60 * 60));
}

我认为Shankar Damodaran的回答有错误。第二行应该从

if(isset($_COOKIE['cookiename'])) to if(!isset($_COOKIE['cookiename'])) 
或者,第四行和第八行应该互换位置


更新:Shankar Damodaran已经更改了第二行。现在他的答案是完美的。

为什么您想要相同的会话ID?@James我只是想这么做。我正在尝试,可能吗?有很多方法,但我认为您试图以错误的方式做一些事情,或者做很多事情,因为大多数代码要求通常不需要这样做(如果是的话,你可能会做一些特别的事情,并且知道如何做)。最终目标是什么?为什么你想保持相同的会话ID?但是我如何在cookies中做到这一点?
if(isset($_COOKIE['cookiename'])) to if(!isset($_COOKIE['cookiename']))