Jump to content
php.lv forumi

Saistībā ar sesijām


andrisp

Recommended Posts

<?php
for($x=0;$x<=10;$x++) {
session_start();
echo 'SID: '.session_id().'<br />';
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
   setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
}
?>

 

Paskaidrosiet kāpēc šis skripts tā dīvaini uzvedas ?

Kad atver pirmo reizi, tad SIDi atšķiras, nospiežu refresh, SIDi vienādi, nospiežam refresh - SID atšķiras utt.

Link to comment
Share on other sites

Tādēļ, ka katru otro reizi tev isset($_COOKIE[session_name()), bet citās nav. Noņem nosacījumu un tad viss būs ok. Cik saprotu problēma tāda, ka $_COOKIE ir tukšs, kaut arī tu skriptā to izveido. Viņš parādās tikai nākamajā ielādē.

 

P.S. Pirmo reizi aiztiku $_COOKIE tādēļ man varbūt nav taisnība.

 

Šis iet bez problēmām:

<?php
ob_start();
for($x=0;$x<=10;$x++) {
session_start();
echo 'SID: '.session_id().'<br />';
$_SESSION = array();
session_destroy();
}
setcookie(session_name(), '', time()-42000, '/');
$echo = ob_get_contents();
ob_clean();
echo $echo;
?>

Edited by GedroX
Link to comment
Share on other sites

×
×
  • Create New...