Php 会话\u重新生成\u id与会话\u销毁不一起工作
我发现session_regenerate_id无法与session_destroy一起工作,请参阅 这个有效Php 会话\u重新生成\u id与会话\u销毁不一起工作,php,session,Php,Session,我发现session_regenerate_id无法与session_destroy一起工作,请参阅 这个有效 <?php session_start(); $old='old is: '.session_id(); session_regenerate_id(true); echo $old; echo '<br>'; echo 'new is: '.session_id(); ?> 此会话失败,返回2个相同的会话id号
<?php
session_start();
$old='old is: '.session_id();
session_regenerate_id(true);
echo $old;
echo '<br>';
echo 'new is: '.session_id();
?>
此会话失败,返回2个相同的会话id号
<?php
session_start();
$old='old is: '.session_id();
session_regenerate_id(true);
session_destroy();
session_unset();
session_start();
echo $old;
echo '<br>';
echo 'new is: '.session_id();
?>
我使用PHP5.3.3,第二个是推荐的生成新会话的方法,但为什么它在我这边不起作用
谢谢大家,在测试之后,我发现必须在会话重新生成id之前调用会话重新生成id,否则会话重新生成id将无法工作
<?php
session_start();
$_SESSION['abc']=12323;
$old='old is: '.session_id();
session_unset();
session_destroy();
session_start();
session_regenerate_id(true);
echo $old;
echo '<br>';
echo 'new is: '.session_id();
?>地点
session_unset();
上述会话将被销毁;或删除未设置的会话;彻底地因为您正在破坏会话
请尝试以下代码:
<?php
session_start();
$oldSessionId ='Old session ID is: ' . session_id() . '<br />';
echo $oldSessionId;
session_destroy();
session_start();
session_regenerate_id(true);
echo 'New session ID is: ' . session_id();
?>
希望这对您有所帮助,您应该先销毁会话。试试这个:
session_destroy();
session_unset();
setcookie(session_name(), null, 0, "/");
第二个返回2个相同的会话idHello,选择一个答案就可以结束这个问题了:我的答案怎么了?如果你投了反对票,请解释为什么要帮助改进。
session_destroy();
session_unset();
setcookie(session_name(), null, 0, "/");
session_start();
$old='old is: '.session_id();
session_destroy();
session_start();
session_regenerate_id(true);
echo $old;
echo '<br>';
echo 'new is: '.session_id();