andrisp Posted April 11, 2006 Report Share Posted April 11, 2006 <?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 More sharing options...
GedroX Posted April 11, 2006 Report Share Posted April 11, 2006 (edited) 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 April 11, 2006 by GedroX Link to comment Share on other sites More sharing options...
Recommended Posts