根据php.net,为了更改cookie中的会话ID,然后行session_id($ id)必须在行session_start()之前。我的问题是,当我第一次启动会话并将值分配给$ _session数组,然后在另一个脚本中我更改了会话ID。为什么我分配的数据已被删除?
第一个脚本 - 启动会话并将值分配给会话数组:
<?php
session_start();
// store session data
$_SESSION["username"] = "joshmathews" ;
$_SESSION["name"] = "josh" ;
?>
第二个脚本 - 更改会话ID但无法访问第一个脚本中的数据:
<?php
session_id(200) ;
session_start();
echo "<br>Username = " . $_SESSION["username"];
echo "<br> name= " . $_SESSION["name"] ;
echo "<br>" . session_id() ;
?>
答案 0 :(得分:0)
1.如果您想更新session_id()值,那么您应该 session_regenerate_id()。
2.如果您想完全删除会话详细信息,请使用 session_destroy()