来自我的logout.php:
<?php require_once("includes/session.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php
if ( isset( $_SESSION['colony_id']))
$cookie = $_SESSION['colony_id'] ;
$_SESSION = array();
if(isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
//this fails- session_start() ;
if ( !empty($cookie))
$_SESSION['colony_id'] = $cookie ;
// redirect_to("login.php?logout=1");
?>
我想结束当前会话,然后使用新会话中旧会话中的一个变量启动一个新会话。我尝试添加第二个session_start语句,但这没有任何效果。我还能做什么?
由于
编辑:我决定重定向到新页面,新的session_start()语句创建了一个新会话
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以将会话变量放入普通变量中,然后在创建新会话后销毁会话并将其放回会话中。
答案 2 :(得分:1)
如果你有一个你想保存的变量,你绝对想破坏会话: 将变量保存到局部变量,销毁会话,启动会话,然后重新加载会话变量......
$localvar = $_SESSION['variable'];
session_destroy();
session_start();
$_SESSOIN['variable'] = $localvar;