Hallo!
Das funktioniert auf Dutzenden von Seiten seit Monaten, teilweise Jahren einwandfrei. Seit den Umstellungen auf PHP 4.3.10 fliegt man an dieser Stelle aus der Session raus. Bei jenen (älteren) Skripte, die nur session_destroy() aufrufen, kann man mit der History-Funktion des Browsers wieder zur Anmeldung zurück; danach läuft die Session stabil, wenn man allerdings lange genug innerhalb der Seite hin- und herklickt, fällt man irgendwann doch wieder raus - das ist aber nicht reproduzierbar.
Gut, als erstes solltest Du nicht gleichzeitig $_SESSION und session_unset() verwenden, dazu steht im Manual: http://de3.php.net/manual/en/function.session-unset.php
Note: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is
used, use unset() to unregister a session variable, i.e. unset
($_SESSION['varname']);.
Caution
Do NOT unset the whole $_SESSION with unset($_SESSION) as this will
disable the registering of session variables through the $_SESSION
superglobal.
Ich würde das eher wie im Manual beschrieben machen: http://de3.php.net/manual/en/function.session-destroy.php
(da steht das übrigens auch nochmal: "Note: Only use session_unset() for older deprecated code that does not use $_SESSION.")
Aber ich weiß nicht ob es damit zu tun hat. Du müsstest mal noch genauer eingrenzen was passiert. Du sagst, "man fliegt raus"? Das heißt
if($_SESSION['cRegistriert'] != 'sstmreg')
ist TRUE? Hast Du geprüft ob es anfangs reingeschrieben wird? Wann genau fehlt denn dieser Wert wieder?
Wie ich verschiedentlich gelesen habe, gibt es alle möglichen Probleme mit dem Update auf 4.3.10 (das "nur" Bugfixes enthielte und völlig unproblematisch sei), und einige Provider rudern nach massiven Kundenbeschwerden wieder zurück nach der Vorgängerversion. Eine häufige Ursache scheint der Zend Optimizer zu sein, der nur in der aktuellsten Version fehlerfrei mit 4.3.10 arbeitet (scheint bei meinen Problemprovidern nicht in Anwendung zu sein).
Also es gibt wohl Probleme mit MSSQL, die meisten anderen Probleme haben mit der Verwendung einer veralteten Zend-Extension zu tun, meist Zend Optimizer, so dass Zend das inzwischen sogar dick auf die Startseite gesetzt hat: http://zend.com/
Du könntest also mal in der phpinfo() gucken ob überhaupt, und wenn ja welche Version dort verwendet wird.
Grüße
Andreas
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/