Micha: Opera verliert (ab und zu) Übergabeparameter an URL

Hallo,

mir ist schön öfters aufgefallen, dass Opera ab und an Übergabeparameter an einer URL scheinbar verliert. Das Problem tritt exakt einmal auf (und bisher nur auf meiner eigenen Seite). Ich habe ein Script, welches mir am Ende der Startseite die neusten Forenbeiträge anzeigt. Starte ich Opera, gehe auf besagte Startseite, blättere ans Ende und klicke einen Link zu einem Beitrag, so komme ich (recht oft) nicht zum gewünschten Eintrag sondern zur Forumshauptseite. Dieses Verhalten lässt sich dann nicht direkt reproduzieren! Ein klick auf zurück und dann auf einen Beitrag funktioniert also wieder. Erst nach dem Schließen von Opera stehen die Chancen "gut", dass dieses Verhalten erneut eintritt.

Ich nutze hier:
Opera 9.23
Build 8808
Plattform Win32
Betriebssystem Windows XP

aber auch in der Vorgängerversion konnte ich das bereits feststellen. Das Problem tritt erst auf, seitdem ich von MLF1.7 auf 2.0b umgestiegen bin. Hier sehe ich jedoch keinen Zusammenhang.

Mit freundlichem Gruß
Micha

  1. Hallo,

    bevor die Frage nach meiner Frage kommt ;-)
    Ist das Problem nachvollziehbar? Kennt einer das Problem? Ideen, woran es liegen könnte und wie ich es beseitigen kann?

    Mit freundlichem Gruß
    Micha

    1. Moin!

      Ist das Problem nachvollziehbar? Kennt einer das Problem? Ideen, woran es liegen könnte und wie ich es beseitigen kann?

      Deine Problembeschreibung ist nachvollziehbar, das Problem aber nicht.

      Ich würde rein aus Gefühlsgrunden meinen, dass ich es auch schon, aber extrem selten, erlebt haben könnte, dass irgendein Opera Parameter-Links nicht so 100% korrekt verfolgt hat. Aber da dieses Forum hier ja nur aus solchen Links besteht, und ich es intensiv bereise, kann ich sagen, dass mir so ein Verhalten vom Opera-Browser nicht negativ aufgefallen ist.

      Dementsprechend mager fallen meine Ratschläge zur Problembehebung aus.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. Hallo Sven Rautenberg,

        Aber da dieses Forum hier ja nur aus solchen Links besteht, und ich es intensiv bereise, kann ich sagen, dass mir so ein Verhalten vom Opera-Browser nicht negativ aufgefallen ist.

        Mir ist es bisher auch nur auf meiner Seite aufgefallen. Weder hier im Forum noch bei Google oder so konnte ich das selbe Problem feststellen.

        Dementsprechend mager fallen meine Ratschläge zur Problembehebung aus.

        Trotzdem vielen Dank!

        Mit freundlichem Gruß
        Micha

    2. Tach.

      Ist das Problem nachvollziehbar? Kennt einer das Problem? Ideen, woran es liegen könnte und wie ich es beseitigen kann?

      Nein, sowas ist mir bei der Benutzung von Opera bisher noch nicht passiert. Ich tippe ehrlich gesagt auch eher auf die Forumssoftware als Verursacher dieses Fehlers. Vielleicht ist das Weiterleiten auf die Indexseite ein "Feature" der Software (im Falle einer überbeschäftigten Datenbank o. ä.).

      Wenn es das nächste Mal passiert, kannst Du ja mal einen Blick in die Serverlogs werfen, mit welchen Parametern das Skript tatsächlich aufgerufen wurde. Daran müßte doch zu erkennen sein, ob Opera tatsächlich den Parameterstring "vergißt" oder der Fehler im verarbeitenden Skript zu suchen ist.

      --
      Once is a mistake, twice is jazz.
      1. Hallo Blaubart,

        Wenn es das nächste Mal passiert, kannst Du ja mal einen Blick in die Serverlogs werfen, mit welchen Parametern das Skript tatsächlich aufgerufen wurde. Daran müßte doch zu erkennen sein, ob Opera tatsächlich den Parameterstring "vergißt" oder der Fehler im verarbeitenden Skript zu suchen ist.

        Deine Vermutung schein richtig. Ich habe es gerade probiert und sehe nun in den Logfile folgenden Eintrag, wobei ich weitergeleitet werde (302)

        [11/Sep/2007:17:29:31 +0200] "GET /index.php?id=303 HTTP/1.1" 302 5 "-" "Opera/9.23 (Windows NT 6.0; U; de)"

        direkt danach habe ich es noch einmal probiert, wobei hier die Seite vollständig geladen wurde (200)
        [11/Sep/2007:17:30:40 +0200] "GET /index.php?id=303 HTTP/1.1" 200 3353 "-" "Opera/9.23 (Windows NT 6.0; U; de)"

        Es scheint also wirklich am Forum zu liegen. Das würde doch aber auch bedeuten, das ich nie auf einen Beitrag linken/verweisen könnte, oder irre ich? Könnte es unter umständen an meinem eigenen Script liegen, mit dem ich die letzten fünf Beiträge herausziehe?

          
        $sql = "select `id`, UNIX_TIMESTAMP(time), `subject`, `name`, `category` from (select `tid`, `time`, `id`, `subject`, `name`, `category` from `".$db_settings['forum_table']."` order by `time` desc) g1 group by `tid` order by `time` desc limit 0,5"
        

        Das erscheint mir aber auch unsinnig, da die SQL-Anweisung ja bereits fertig sein müsste, wenn ich den Link "sehe".

        Mit freundlichem Gruß
        Micha

        1. Hallo

          Es scheint also wirklich am Forum zu liegen. Das würde doch aber auch bedeuten, das ich nie auf einen Beitrag linken/verweisen könnte, oder irre ich? Könnte es unter umständen an meinem eigenen Script liegen, mit dem ich die letzten fünf Beiträge herausziehe?

          Nein.

          Das erscheint mir aber auch unsinnig, da die SQL-Anweisung ja bereits fertig sein müsste, wenn ich den Link "sehe".

          Eben. Deine Startseite wird angefordert, zusammengebaut und ausgeliefert. Damit ist der "Skriptlauf", in dem die Links ausgegeben werden, beendet. Wenn nun ein Link betätigt wird, wird eine andere Seite (oder die gleiche Seite erneut) angefordert.

          Das ist ein anderer Skriptaufruf und hat mit deiner Ausgabe der letzten 5 Postings auf der Startseite nichts zu tun.

          Tschö, Auge

          --
          Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
          (Victor Hugo)
          <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
          Veranstaltungsdatenbank Vdb 0.2
          1. Hallo Auge,

            Das erscheint mir aber auch unsinnig, da die SQL-Anweisung ja bereits fertig sein müsste, wenn ich den Link "sehe".

            Eben.

            Gut, dann liege ich ja wenigstens hier richtig. Alex fragt in jeder Datei ab:

              
            if(!defined('IN_INDEX'))  
             {  
              header('Location: index.php');  
              exit;  
             }
            

            ob die globale Variable gesetzt ist. Diese wird in der index.php gleich am Anfang deklariert define('IN_INDEX', TRUE); und sollte also auch vorhanden sein.

            was mich jedoch noch verwundert ist, das scheinbar nur ich dieses Problem auf zwei völlig unterschiedlichen Rechnern habe...

            Mit freundlichem Gruß
            Micha

            1. Tach.

              Gut, dann liege ich ja wenigstens hier richtig. Alex fragt in jeder Datei ab [...] ob die globale Variable gesetzt ist. Diese wird in der index.php gleich am Anfang deklariert define('IN_INDEX', TRUE); und sollte also auch vorhanden sein.

              Das ist wohl kaum das Problem, da Du ja direkt index.php aufrufst. Allerdings sind auch die restlichen Skripte mit Weiterleitungen auf index.php gewürzt. Eine einfache Suche nach entsprechenden Zeichenketten liefert beispielsweise folgenden Code:

                
              // hier eine Datenbankabfrage  
                
              if(mysql_num_rows($result)!=1)  
               {  
                header('Location: index.php');  
                exit;  
               }  
              
              

              Da im Fehlerfall weder geloggt noch eine Meldung an den Nutzer rausgegeben wird, kann ich Dir auch nicht direkt die Fehlerquelle nennen. D. h. debuggen darfst Du (oder der Skripautor) jetzt selber. ;)

              --
              Once is a mistake, twice is jazz.
              1. Hallo Blaubart,

                Da im Fehlerfall weder geloggt noch eine Meldung an den Nutzer rausgegeben wird, kann ich Dir auch nicht direkt die Fehlerquelle nennen. D. h. debuggen darfst Du (oder der Skripautor) jetzt selber. ;)

                Welche logische Erklärung gibt es dafür, dass der nochmalige Aufruf funktioniert?

                debuggen, ja... Die 1.7er Version war ja noch durchschaubar aber jetzt. Ferner bin ich ja auch noch von irgendwas abhängig, da ich den Fehler nicht einfach so auslösen kann; vll am WE.

                Als Ansatz kommt mir folgendes in den Sinn. Kann ich bei einer Weiterleitung ein Parameter anhängen; so in der Art oder ist dies nicht möglich?

                header('Location: index.php?err=0815');

                Wenn ich das im IDs bestücke, könnte ich die Quelle auffinden.

                Mit freundlichem Gruß
                Micha

                1. Tach.

                  Welche logische Erklärung gibt es dafür, dass der nochmalige Aufruf funktioniert?

                  Beispielsweise fehlgeschlagene Verbindungsversuche mit der Datenbank beim ersten Versuch. Falls Du Dein Forum auf einem Shared Server laufen hast, macht sich vielleicht gegelegentlich einer Deiner Nachbarn etwas breit. Vielleicht aast auch das Forum selber mit Resourcen. Wirklich ... es könnte alles mögliche sein. Vielleicht hat der Programmierer sich beim Sessionhandling verzettelt, und Du setzt erst durch einen zweiten Aufruf als Nebeneffekt irgendeiner Aktion die nötigen Bedingungen für anderen Aktionen.

                  Genau dafür ist ja das Loggen von Fehlern hilfreich: es erspart eine Menge Rätselraten.

                  Als Ansatz kommt mir folgendes in den Sinn. Kann ich bei einer Weiterleitung ein Parameter anhängen; so in der Art oder ist dies nicht möglich?

                  Ja, kannst Du machen. Zum schnellen Debuggen mag das auch erstmal reichen. Vernünftige Routinen zum Umgang mit Fehlern sollten trotzdem Pflicht sein. Falls Du sie am Wochenende nicht schon selber einbaust, kannst Du dem Programmierer ja einen Tip geben. ;)

                  --
                  Once is a mistake, twice is jazz.
                  1. Hallo Blaubart,

                    Falls Du sie am Wochenende nicht schon selber einbaust, kannst Du dem Programmierer ja einen Tip geben. ;)

                    Auge liest ja mit, der kennt Alex wohl etwas besser als ich. Ich werd es am WE erstmal so versuchen und dann hier (sofern der Thread dann nicht schon im Archiv ist) und auch im MLF-Forum posten, was dabei raus kam.

                    Bis hierhin erstmal vielen Danke!

                    Mit freundlichem Gruß
                    Micha

                    1. Hallo

                      Auge liest ja mit, der kennt Alex wohl etwas besser als ich.

                      Nanu, nicht gleich übertreiben. Zumal ich mich mit der 2-er-Version, außer gelegentlichen Besuchen im Forum, bisher nicht beschäftigt habe.

                      Na dann mal viel Spaß beim entkäfern. :-)

                      Tschö, Auge

                      --
                      Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                      (Victor Hugo)
                      <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
                      Veranstaltungsdatenbank Vdb 0.2
                      1. Hallo Auge,

                        Na dann mal viel Spaß beim entkäfern. :-)

                        Es gibt eine Beta 13, vll ist das Ungeziefer ja nun weg. Muss ich eigentlich beim Update die Installation erneut durchlaufen lassen? Das frage ich mich jedes mal...

                        Mit freundlichem Gruß
                        Micha

                        1. Hallo,

                          Problem besteht auch in Version 2.13b weiterhin...

                          Mit freundlichem Gruß
                          Micha

                      2. Hallo Auge,

                        Na dann mal viel Spaß beim entkäfern. :-)

                        Woher die Weiterleitung nun kommt, kann ich nicht sagen. Ich habe nahezu alle Weiterleitungen mit einem weiteren Parameter versehen. Dieser taucht aber nicht in Logfiles auf. Komisch ist auch, das ich es nur mit Opera schaffe. Im Gecko gibts keine Probleme...

                        Mit freundlichem Gruß
                        Micha

  2. Hallo

    Das Problem tritt erst auf, seitdem ich von MLF1.7 auf 2.0b umgestiegen bin. Hier sehe ich jedoch keinen Zusammenhang.

    Davon ausgehend, dass der Fehler nach deiner Beschreibung nur in MLF 2 auftritt, wäre es sinnvoll den Fehler auch dort zu suchen.
    Also: MLF 1.x benutzt zur Navigation ausschließlich HTML-Code, bei MLF 2 wird viel mit Ajax erledigt. Könnte es sein, dass an dieser Stelle der Fehler liegt?

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
    Veranstaltungsdatenbank Vdb 0.1
    1. Hallo Auge,

      vielen Dank für Dein Feedback.

      Davon ausgehend, dass der Fehler nach deiner Beschreibung nur in MLF 2 auftritt, wäre es sinnvoll den Fehler auch dort zu suchen.

      Ich muss gestehen, das ich den Fehler gar nicht in der Forensoftware vermuten würde. Auch wenn die neue Version etwas träger ist (in den Logfiles finde ich nun auch (im Moemtn 2) 503 Server busy Einträge), sollte Opera einem Link folgen können und nicht einfach etwas abschneiden.

      viel mit Ajax erledigt. Könnte es sein, dass an dieser Stelle der Fehler liegt?

      Um die neusten Antworten _unterschiedlicher_ Threads auf meiner Seite darzustellen, nutze ich ein eigenes Script, welches Alex wohl nicht so besonderds innovativ fand - zumindest erweckte er den Eindruck, als ich den Wunsch und das fertige Script postete.
      Ajax fällt also weg, da ich ebenso "HTML" Links nutze - siehe Quellcode auf der Startseite:

        
      <li><a title="Besuche: Update der Forensoftware" href="http://forum.derletztekick.com/index.php?id=292">Update der Forensoftware</a> von Micha am 03.08.2007 - 18:49 Uhr</li>  
       <li><a title="Besuche: Calendar Js mit Rückgabe?" href="http://forum.derletztekick.com/index.php?id=289">Calendar Js mit Rückgabe?</a> von Michael am 02.08.2007 - 08:02 Uhr</li>
      

      Mit freundlichem Gruß
      Micha

      1. Hallo

        Ich muss gestehen, das ich den Fehler gar nicht in der Forensoftware vermuten würde. Auch wenn die neue Version etwas träger ist (in den Logfiles finde ich nun auch (im Moemtn 2) 503 Server busy Einträge), sollte Opera einem Link folgen können und nicht einfach etwas abschneiden.

        Zumindest dann, wenn die URLs auch gültig und deren Ziele verfügbar sind. :-)

        viel mit Ajax erledigt. Könnte es sein, dass an dieser Stelle der Fehler liegt?

        Ajax fällt also weg, da ich ebenso "HTML" Links nutze - siehe Quellcode auf der Startseite:

        Dann weiß ich auch nicht weiter.

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
        Veranstaltungsdatenbank Vdb 0.2
        1. Hallo Auge,

          Zumindest dann, wenn die URLs auch gültig und deren Ziele verfügbar sind. :-)

          Ansonsten sollte aber auch eher ein 404er kommen als pauschal die index-Seite ;-)

          Dann weiß ich auch nicht weiter.

          Trotzdem vielen Dank.

          Mit freundlichem Gruß
          Micha