session_destroy liefert Fehler

Hallo Leute,

ich habe einen Shop programmiert. Alles funktioniert einwandfrei. Außer die session_destroy funktion. Meine aktuelle Session wird einfach nicht gelöscht. Nach einigen Stunden bei Google und in verschiedenen Board und Newsgroups konnte ich noch nicht die passende Lösung finden.

Situationsbeschreibung:

- bei aufruf der seite session_start();
- der kunde surft im shop rum legt sich artikel in den warenkorb
- Tablle warenkorb (MySQL) jede zeile mit SID und ARTIKELNUMMER
- ausgelesen wird es dann select * from warenkorb where SID='$PHPSESSID'
- der kunde geht zum bezahlen und tippt seine Daten ein, die dann auch in einer anderen Tab gespeichert werden.
- nach bestätigung aller daten wird eine seite aufgerufen in der die Session gelöscht werden soll.
Code:
echo (session_destroy()) ? "Erfolgreich gelöscht" : "Fehler beim löschen";

und diese Anweisung liefert mit "Fehler beim löschen." Nach automatischer weiterleitung auf http://localhost/index.php ist mein warenkorb immernoch voll und es ist die alte session noch aktuell.

Ich weiss jetzt nicht mehr weiter.
Warum funktioniert das session_destroy nicht??
 
bekommst du eine fehlermeldung wenn du "E_ALL" eingestellt hast (--> error_reporting(E_ALL);
)?
 
nein ich bekomme keine fehlermeldungen von php. Übrigens den Fehler beim Löschenbekomm ich nicht mehr. Aber meine Sessions werden immer noch nicht gelöscht.
 
jo habe ich. Ich glaube das hat was mit dem cookie zu tuen welcher gesetzt wird. dieser wird nicht gelöscht bei session_destroy

Edit (18.01.2005 07:45:00) :

#########################################

Nach einer Ausführlichen Teamspeak Sitzung mir dem "derhesse" ;-) , haben wir das Problem lösen können. Das Problem war der Session Cookie der bis zum schließen des Browsers gültig war. Dieser musste halt rigeros gekillt werden. Und siehe da es funktioniert.

if (isset($_COOKIE[session_name()]))
{
setcookie(session_name(), '', time()-42000, '/');
}
PS: Noch mal danke für die Hilfe!
#########################################

Tread kann geschlossen werden!

Tschöö
 
Zurück
Oben