2015-10-31 30 views
-4
<?php 
    $b = session_id(); 
    if(empty($b)) session_start(); 
    $ses= session_id(); 
    echo $ses; 
?> 

該代碼可用於當摧毀會話顯示的會話ID是一樣的老one.When我刪除cookie那麼它changed..how更改會話生成會話ID如何在登出後在php中更改會話ID?

但ID?

+6

這可能早就更快地將它放入谷歌:'session_regenerate_id' – jeroen

+1

使用'session_unset()'破壞先前的會話ID –

回答

3

改變session_id()可以通過session_regenerate_id()

<?php 
session_start(); 

$old_sessionid = session_id(); 

session_regenerate_id(); 

$new_sessionid = session_id(); 

echo "Old Session: $old_sessionid<br />"; 
echo "New Session: $new_sessionid<br />"; 

print_r($_SESSION); 
?> 

進行刪除會話使用session_destroy();

session_destroy(); 
$_SESSION = array(); // Clears the $_SESSION variable 

http://php.net/manual/en/function.session-destroy.php

+0

我可以摧毀會話,但之後摧毀它不能改變,這是問題 – sri

+1

這是不正確的,如果你檢查'session_destroy()'的手冊:'爲了完全殺掉會話,就像登錄用戶一樣,會話ID也必須是未設置的。「 – jeroen

+0

答案被編輯。謝謝@ jeroen –