Riesen Problem: Sessoinverlusst im Shop

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Riesen Problem: Sessoinverlusst im Shop

    Hallo,

    ch habe einen Shop programmiert (PHP, MySQL). Alles funktioniert im Prinzip wunderbar. Man fügt Artikel im Warenkorb, loggt sich ein, etc.
    Wenn es dann ans bezahlen geht kommt jedoch das Problem. Man geht also in den Warenkorb, wählt Bezahlart aus, und beim klick auf "Kostenpflichtig bestellen", wird man auf die Bezahlanbieter Seite weiter geleitet. Dort gibt man seine daten ein, und wird dann wieder auf den Shop weiter geleitet. Und da ist auf ein mal die Session weg, und darin wird im Prinzip viele wichtige Infos gespeichert. Fügt man aber gleich wieder neue Artikel in den Warenkorb und checkt auch wieder aus, flutscht alles sauber durch.
    Es funktioniert also nur beim ersten Durchgang nicht (Cache vom Browser wurde vorm ersten Druchgang geleert). Es kommt aber auch ab und an vor, das es auch beim ersten Druchgang funktioniert (aber nicht so oft). Laut den Testern soll es aber mit dem IPhone wohl keine Probleme geben. Nur Desktop (egal welcher Browser und Version) und wohl auch IPad.
    Ich habe schon das System wie blöd durchgecheckt, hab gegoogelt, aber bin kein Stück weiter und verzweifelt. So ein Problem habe ich noch nie gehabt. Hab schon mal ein paar kleine Shops programmiert, aber da nie diese Probleme gehabt.
    Kann es sein, das in den Sessions nur eine kleine Menge an Daten gespeichert werden können? Allerdings würde es ja nicht beim zweiten Durchgang funktionieren. Müsste wohl am Browsercache liegen???
    Erfahrungen vererben sich nicht jeder muss sie allein machen.

  • #2
    Übergibt der Browser die Session-ID (also den Cookie mit der SessionID) wieder wenn du vom Bezahlanbieter zurückkehrst?
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Nein, es wird eine neue Session gestartet. Die ganzen Daten die in der "alten" Session drin waren sind weg.

      Die Seite läuft auf einen All-Inkl Server. Hab diese aber testweise auf einen 1&1 Server drauf gemacht. Hat aber leider nichts gebracht. Kann man davon ausgehen, das es kein Serverseitiges Problem ist?
      Erfahrungen vererben sich nicht jeder muss sie allein machen.

      Kommentar


      • #4
        Fehler oder Feature

        Eigentlich ist das beobachtete Verhalten nicht unplausibel. Sobald der Bezahlvorgang abgeschlossen ist, werden Sessionvariable (zumindest teilweise) gelöscht. Das könnte durchaus ein Feature sein.

        Um das Verhalten im Detail zu analysieren, sollte man an die (Shop-)URL beim Bezahlanbieter, die aufgerufen wird, wenn der Bezahlvorgang erfolgreich abgeschlossen wurde, die Session-ID anhängen.

        Kommentar


        • #5
          Aber wieso klappt es dann bei zweiten Mal, wenn man sofort wieder etwas bestellt?
          Erfahrungen vererben sich nicht jeder muss sie allein machen.

          Kommentar


          • #6
            Zitat von joextra Beitrag anzeigen
            Aber wieso klappt es dann bei zweiten Mal, wenn man sofort wieder etwas bestellt?
            Woher sollen wir das wissen – du hast doch den Shop programmiert, also ist Debugging auch deine Aufgabe …
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              wie ich schon oben geschrieben habe, habe ich schon alles in meiner macht probiert, komme aber nicht weiter. Deswegen frage ich hier nach, ob vielleicht jemand so ein ähnliches Problem hatte, das gelöst wurde, und wenn ja wie.
              Habe auch auf einen Tipp gehoft, auf den ich selber nicht gekommen bin (manchmal sieht man ja den Wald vor lauter Bäumen nicht).
              Zuletzt geändert von joextra; 05.08.2013, 18:09.
              Erfahrungen vererben sich nicht jeder muss sie allein machen.

              Kommentar


              • #8
                ok, ich hab das Problem lösen können. Hab einfach die Session ID über den Zahlungsanbieter durchgeschleift und per session_id() gesetzt. So funktioniert es. Dachte immer, dass die Session komplet zerstört wurde.
                Jetzt habe ich aber ein Problem mit PayPal dreck. Man kann zwar mit "PAYMENTREQUEST_0_CUSTOM" parameter durchschleifen, aber es kommt nichts an. Hat da vielleicht jemand Erfahrung damit? Hänge seit Stunden damit fest und die Doku ist nicht gerade hilfreich.
                Erfahrungen vererben sich nicht jeder muss sie allein machen.

                Kommentar


                • #9
                  Paypal-Sandkasten

                  Dieser Link könnte hilfreich sein:

                  Accepting PayPal in Express Checkout

                  Kommentar


                  • #10
                    Danke, aber es hat sich erledigt. Ich benutze nicht mehr die API sondern die Button Lösung mit Formular. Ist einfacher und man muss zu Schluss auch keinen DoExpressCheckout machen, damit das Geld auch aufs Konto kommt. Und über custom kann ich problemlos die Session durchschleifen.
                    Erfahrungen vererben sich nicht jeder muss sie allein machen.

                    Kommentar

                    Lädt...
                    X