Roger: unset funktioniert manchmal nicht

moin!

in einem kleinen shopsystem benutze ich für die bestellbestätigung folgende routine (vereinfacht):

if (mail("...an shopbesitzer"))
{
   unset($_SESSION['bestelldaten']);
   mail("...an besteller");
}

sehr, sehr selten - und deshalb für mich nicht nachvollziehbar - wird die session-variable nicht gelöscht. ist in erster linie nicht weiter schlim,  wird aber dann zum problem, wenn der kunde eine weitere bestellung aufgeben möchte. da dann die ersten daten überschrieben werden, was nicht sein darf.
und das schlimme: die mail kommt beim besteller an. also wird ja auch die schleife durchlaufen! und somit muss auch der unset-befehl ausgeführt werden. wird aber augenscheinlich nicht. warum?
die komplette session kann nicht gelöscht werden, da noch mehrere daten zur kundenidentifizieren enthalten sind.

gruß.
roger.

--
Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
  1. Moi moin,

    unset($_SESSION['bestelldaten']);

    wird aber dann zum problem, wenn der kunde eine weitere bestellung aufgeben möchte.

    Ich habe es jetzt so verstanden, daß wenn alles ordnungsgemäß funktioniert, die Bestelldaten gelöscht werden und wenn es nicht ordnungsgemäß funktioniert, die Bestelldaten überschrieben werden. Wo aber ist das Problem? Sie sind doch in beiden Fällen zum Zeitpunkt der zweiten Bestellung nicht mehr existent.

    Gruß aus Berlin!
    eddi

    1. moin!

      doch. denn die auftragsnummer befindet sich ebenfalls in der variablen. die soll erhalten bleiben, damit der kunde während der bestellung hin- und her-switchen kann, ohne sich zig neue auftragsnummern zu vergeben/verbrauchen. wird diese gelöscht, bekommt er eine neu. bleibt sie, wird sie mit den neuen daten überschrieben. is nu mal das prob an dem script. ist wie gesagt nix besonders großes, deswegen wird sich auch nicht der aufwand lohnen es umzuschreiben, aber mich wundert/ärgert es eben, dass die variable nicht gelöscht wird...

      gruß.
      roger.

      --
      Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
      1. moin!

        ich hab es jetzt so gelöst, dass die nummer nicht einfach blind abgefragt wird, sondern dass zusätzlich überprüft wird, ob eine bestellung mit dieser nummer bereits aufgegeben wurde.
        scheint mir die einzigste lösung zu sein.

        gruß.
        roger.

        --
        Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de