Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] header Umleitungsfehler bei exzessiver Skriptausführung

Einklappen

Neue Werbung 2019

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

  • [Erledigt] header Umleitungsfehler bei exzessiver Skriptausführung

    Hallo zusammen,

    mich plagt folgendes Problem, bei dem ich ehrlich gesagt auf dem Schlauch stehe.

    Bspw. befinde ich mich auf folgender Seite: index.php?cat=warenkorb. Dort habe ich die Möglichkeit, verschiedene Aktionen zu tätigen, z.B. folgende: index.php?cat=warenkorb&action=menge_aendern. Damit ich nach jeder Aktion auf die ursprüngliche Seite zurückkomme und somit ein erneutes Ausführen der Aktion durch F5 zu verhindere, leite ich am Ende der Aktion auf die Anfangsseite um. Die Uri der Anfangsseite wird in der Session gespeichert. Das Prinzip dürfte jedem klar sein und es funktioniert auch wunderbar.

    Jetzt das Problem: Es funktioniert nur, solange ich relativ "normal" die Aktion ausführe. D.h. ich klick auf "Menge ändern", die Seite lädt für einen Bruchteil der Sekunde und die Menge ist geändert. Praktiziere ich allerdings ein exzessives Ausführen der Aktion, hängt sich das Skript nach kurzer Zeit auf und ich erhalte eben folgenden Umleitungsfehler "Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.". Ich kann mir das nicht erklären.

  • #2
    Das hat mit der Skriptausführung vorher nichts zu tun, du hast einfach einen Fehler in deiner Prüfroutine für die Weiterleitung.
    "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

    Kommentar


    • #3
      @ Chriz

      Hätte ich einen Fehler in der Prüfroutine, wieso funktioniert das Skript fehlerfrei in Ottonormal-Geschwindigkeit?

      Update: Es scheint sich um eine server-seitiges Problem gehandelt zu haben. Ich kann den Fehler urplötzlich nicht mehr reproduzieren. Seltsam

      Kommentar


      • #4
        Eins sollte dir beim Programmieren klar sein, der Computer macht nur was du ihm befiehlst. Und genau so wird es auch hier sein. Ich kenne dein Skript nicht, aber das Problem hab ich auch gelegentlich. Irgendwo ist halt eine Bedingung falsch und schon landest du in einer Endlosweiterleitung, die der Browser dann gott sei dank für dich beendet.
        "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

        Kommentar


        • #5
          Es sieht folgendermaßen aus:
          PHP-Code:
          if ($action && Security::checkToken()) {        
              switch (
          $action) {            
                  case 
          'aendern_plus':                    
                      
          Cart::getInstance()->update($_GET['product_id'], 1);
                      break;
                      
                  case 
          'aendern_minus':
                      
          Cart::getInstance()->update($_GET['product_id'], -1);
                      break;
                      
                  case 
          'hinzufuegen':
                      
          Cart::getInstance()->add($_POST['product_id'], $_POST['quantity']);
                      break;
                      
                  case 
          'loeschen':
                      
          Cart::getInstance()->delete($_GET['product_id']);
                      break;
              }
              
          Controller::redirectRequestUri();
          }

          // Code ... und am Skriptende steht
          SessionManagement::setRequestUri(); 
          Entweder sehe ich den Wald vor lauter Bäumen nicht oder meine Prüfroutine ist in Ordnung und der Server hatte einen Aussetzer

          Kommentar


          • #6
            Wenns wieder geht hast du eben etwas geändert. Muss ja nicht server-seitig gewesen sein, Cookies löschen, neu Einloggen, .. reicht ja alles um im Skript in andere Bedingungen reinzulaufen.

            Der Code oben hilft bei der Problemlösung nicht weiter, weder weiß ich was SecurityToken, woher $action noch was redirectRequestUri() oder das SessionManagement dann damit anfangen.
            "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

            Kommentar


            • #7
              Ich markiere das Thema mal als erledigt. Verändert habe ich am Skript wirklich nichts, es muss sich um ein kurzzeitiges Serverseitiges Problem gehandelt haben. Danke soweit

              Kommentar


              • #8
                Race condition eventuell?
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar

                Lädt...
                X