Seite lädt nicht im IE

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

  • Seite lädt nicht im IE

    Hallo,

    heute habe ich selbst mal ein Problem, bei dem ich grad nicht weiterkomme. Für einen Kunden habe ich eine Suchseite erstellt, auf der er wissenschaftliche Recherchen zu österreichischer Musik betreiben können soll. Die vorläufige Version ist unter [Adresse entfernt] zu finden.

    Browserseitig ist keine Logik notwendig, es gibt keinen JS-Code. Das einzige, was Browser falsch machen könnten, ist das Handling des Session-Cookies.

    Lokal funktioniert alles (mit FF und IE). Die o. g. Online-Version funktioniert auch problemlos im FF. Im IE (v. 8) dagegen kommen nur Suchergebnisse, wenn man "nur Literaturliste" ausgewählt hat. Schaltet man dort auf detailliert, bleibt der Status auf "Verbindung wird hergestellt..." (klingt für mich anders als "Seite wird geladen" oder "Warten auf Antwort", was ich ja noch verstehen würde). Es sieht für mich so aus, als würde er den Server nicht mehr finden, wenn man die detaillierte Ansicht auswählt. Das bleibt dann da stehen, solange man nichts unternimmt (eine Instanz des IE hat das gerade 30min lang durchgezogen, bis ich jetzt das Fenster geschlossen habe).

    Mit der DB-Abfrage selbst kann es nichts zu tun haben, diese festgefrorene Anfrage ist nicht in der Prozessliste des MySQL-Servers enthalten und ich vermute, dass sie gar nicht bis dort hin kommt. Mit dem FF klappt es ja auch alles, also schließe ich serverseitige Fehler doch zu Recht aus, oder?

    Das Ergebnis wird chunked ausgeliefert, also liegt es auch nicht am fehlenden Content-Length-Header, da ich mit Output Buffering arbeite.

    Hat jemand eine Idee, woran das liegen könnte oder was ich übersehen habe?

    Hinweis zum Ausprobieren: bei Name "mozart" eingeben und dann einmal als "nur Literaturliste" suchen (funktioniert) und einmal als "detailliert" (o. g. Problem).

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 02.09.2010, 16:53. Grund: Adresse entfernt
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

  • #2
    Problem nachvollziehbar - lustigerweise erscheint so gut wie sofort nach dem Betätigen des Suchen-Buttons in der Statuszeile “Done”, während im Tab-Titel “Connecting...” steht und sich das Sanduhr-Rädchen dreht ...


    Am Code und auch mit den Developer Tools kann ich auf Anhieb nichts verdächtiges entdecken.
    Hast du denn mal überprüft, was der IE an den Server schickt, wenn du das Formular absendest? (Netzwerk-Sniffer bemühen, oder alternativ erst mal vom Script die Daten in ein Logfile schreiben lassen, und danach mit exit aussteigen.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Zitat von wahsaga Beitrag anzeigen
      Hast du denn mal überprüft, was der IE an den Server schickt, wenn du das Formular absendest?
      $_SERVER, $_SESSION und $_GET unterscheiden sich kein bisschen. Der einzige Unterschied in den $_POST-Daten ist, dass "type" mal "simple" (nur Literaturliste) und mal "detail" (detailliert) ist.
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        Könnte das damit zusammenhängen, dass das Ding als FastCGI läuft? Ich hab grad das hier gefunden: Internet Explorer + PHP in FastCGI = fail, apparently : The Official Microsoft IIS Site

        Allerdings ist es kein IIS, sondern ein LAMP-Server.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Ich sitz hier grad mit einer IE6-Version

          Mit dem bekomm ich sowohl bei 'nur Liste' als auch bei 'detailliert' ein

          Die XML-Seite kann nicht angezeigt werden
          Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.
          Leider lässt er mir hierbei nicht die Quelltextansicht öffnen.


          Kannst du anhand der Logs nicht erkennen, ob der Request beim IE überhaupt ankommt und beim Server was anstupst?

          Ich hatte mit 'chunked' mal irgendein Problem das in eine ähnliche Richtung ging, aber mir fällt es leider nicht mehr genau ein
          Zuletzt geändert von AmicaNoctis; 02.09.2010, 15:21. Grund: Code zu lang, Quote draus gemacht
          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


          • #6
            Zitat von Quetschi Beitrag anzeigen
            Die XML-Seite kann nicht angezeigt werden
            Oh, das ist schlecht. Dabei liefere ich XHTML 1.0 Strict als text/html aus, aber es kann sein, dass Empty-Element-Tags darin nicht abwärtskompatibel sind (Leerzeichen vor dem />). Danke, ich werde das prüfen.

            Zitat von Quetschi Beitrag anzeigen
            Kannst du anhand der Logs nicht erkennen, ob der Request beim IE überhaupt ankommt und beim Server was anstupst?
            Kann ich und es kommt auch was an, siehe hier:
            http://www.php-resource.de/forum/php...tml#post644805
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Aja, sorry - der Satz hier
              diese festgefrorene Anfrage ist nicht in der Prozessliste des MySQL-Servers enthalten und ich vermute, dass sie gar nicht bis dort hin kommt.
              hat mich etwas durcheinandergebracht.

              Ich hatte irgendwie mal diese Probleme mit Keep-Alive und Transfer-Encoding chunked.

              Das Problem könnte sich bei dir dadurch ergeben, dass bei 'detailliert' mehr Daten durchkommen und dadurch das chunking erst greift und eben das Problem verursacht.

              Kannst du keep-alive auf dem Server mal deaktivieren?



              EDIT:
              Ich war fest der Überzeugung, dass ich damals einen Thread dazu hier hatte, aber ich kann ihn unter meinen eigenen nicht mehr finden.
              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


              • #8
                Mein IE spukt das als Antwort aus.
                Code:
                name=mozart&profession=&place=&country=&composer=&composition=&keywords=&type=simple
                
                HTTP/1.1 200 OK
                Date: Thu, 02 Sep 2010 13:24:30 GMT
                Server: Apache
                X-Powered-By: PHP/5.3.1
                Expires: Thu, 19 Nov 1981 08:52:00 GMT
                Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
                Pragma: no-cache
                Keep-Alive: timeout=1, max=100
                Connection: Keep-Alive
                Transfer-Encoding: chunked
                Content-Type: text/html
                Code:
                name=mozart&profession=&place=&country=&composer=&composition=&keywords=&type=detail
                
                HTTP/1.1 200 OK
                Date: Thu, 02 Sep 2010 13:24:59 GMT
                Server: Apache
                X-Powered-By: PHP/5.3.1
                Expires: Thu, 19 Nov 1981 08:52:00 GMT
                Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
                Pragma: no-cache
                Connection: close
                Transfer-Encoding: chunked
                Content-Type: text/html
                da ich nicht so der experte in HTTP headern bin aber müsste der nicht das keep alive mitsenden ?
                Bitte Beachten.
                Foren-Regeln
                Danke

                Kommentar


                • #9
                  Zitat von Quetschi Beitrag anzeigen
                  Kannst du keep-alive auf dem Server mal deaktivieren?
                  Hab ich gemacht, danach im IE alle Daten gelöscht (Cache, Cookies, etc.) und nochmal versucht: Keine Änderung. Klang aber nach nem guten Tipp.



                  Hab ich schon erwähnt, dass ich den IE abgrundtief hasse? Ich kann mir eigentlich auch gar nicht vorstellen, was da intern genau passieren soll, das zu diesem Problem führt und ich bin der Meinung, dass ich mich mit HTTP, HTML, PHP ziemlich gut auskenne. Nur von FastCGI hab ich gar keine Ahnung, daher vermute ich das Problem dort, weil ich mir einfach mal anmaße, alles andere ausschließen zu können.

                  @wyveres: Probier bitte nochmal, es kann sein, du hast es gerade zum Zeitpunkt der Änderung versucht.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Ich stochere leider auch nur noch in finsteren Erinnerungen rum - es hatte mit der Kombination keep-Alive und chunked zu tun. Der IE erkennt in manchen Fällen nicht, dass eine Datei fertiggeladen ist. Ist leider schon zu lange her um mich noch an genaueres erinnern zu können.


                    EDIT:
                    Mal was anderes - du lieferst xhtml1.0-Content aus mit dem Header text/html. Darf dann der Xml-Prolog am Anfang drinsein?
                    Zuletzt geändert von Quetschi; 02.09.2010, 15:45.
                    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


                    • #11
                      srry, wg. Doppelpost.
                      Zuletzt geändert von Quetschi; 02.09.2010, 15:45.
                      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


                      • #12
                        FastCGI ist doof!

                        Hab jetzt den letzten Teil wie folgt geändert:

                        PHP-Code:
                            $output $view->output($doc);
                            
                        header("Connection: close");
                            
                        header("Content-Length: " strlen($output));
                            
                        header("Transfer-Encoding: identity");
                            
                        header("X-Foo: sicherstellen, dass meine Headers auch gesetzt werden");
                            echo 
                        $output
                        Ratet mal, was ankommt:

                        HTTP/1.1 200 OK
                        Date: Thu, 02 Sep 2010 13:43:52 GMT
                        Server: Apache
                        X-Powered-By: PHP/5.3.1
                        Expires: Thu, 19 Nov 1981 08:52:00 GMT
                        Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
                        Pragma: no-cache
                        Keep-Alive: timeout=1, max=100
                        Connection: Keep-Alive
                        Transfer-Encoding: chunked
                        Content-Type: text/html
                        Ich kann die Header gar nicht setzen, was wahrscheinlich an diesem FastCGI liegt. Jemand noch eine Idee?
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar


                        • #13
                          Setz mal den zweiten Parameter von header() auf true.
                          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


                          • #14
                            Zitat von Quetschi Beitrag anzeigen
                            Setz mal den zweiten Parameter von header() auf true.
                            Isser doch True ist default und andernfalls müsste er trotzdem den X-Foo-Header ausgeben.

                            Hab grad noch das gefunden: FastCGI FAQ

                            Dort wird behauptet, man würde die Header direkt in der Ausgabe setzen. Hab ich auch probiert

                            PHP-Code:
                                $doc->documentElement->appendChild($doc->createComment(ob_get_clean()));
                                
                            $output $view->output($doc);
                                echo 
                            "Connection: close\r\n";
                                echo 
                            "Content-Length: "strlen($output), "\r\n";
                                echo 
                            "Transfer-Encoding: identity\r\n";
                                echo 
                            "X-Foo: sicherstellen, dass meine Headers auch gesetzt werden\r\n\r\n";
                                echo 
                            $output
                            Bringt genau gar nichts.
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #15
                              Stimmt - sorry.


                              Aber irgendwas klappt da nicht. Versuchst du die Header zu spät zu manipulieren?

                              Bekomme seit einiger Zeit jetzt unten noch diese Meldungen:
                              Warning: Cannot modify header information - headers already sent by (output started at /.../view/DefaultView.php:16) in /.../index.php53 on line 130
                              Zuletzt geändert von AmicaNoctis; 02.09.2010, 16:52. Grund: Anonymisierung meiner Serverpfade
                              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

                              Lädt...
                              X