# Chrome lädt Seite erst nach reload richtig



## JuSeCo (24. März 2020)

Hallo an alle,

ich stehe seit fast 2 Wochen vor dem Problem das google Chrome meine Seite nicht lädt. Da ich schon nicht mehr weiß, wo ich nach dam fehler suchen soll beschreibe ich Ihn euch und hänge ein Bild an auf das ich eingehen werde:

Wann entsteht der Fehler?

Der Fehler entsteht auf jeder Seite beim ersten aufruf nachdem ich den Inkognito Modus verwende oder den Cache leere.

Was ist betroffen?

hight / width der Textfelder, ausgenommen lediglich die dropdown menus

Wird die css datei nicht erkannt?

Diese Datei wird definitiv erkannt da alle anderen Dinge richtig dargestellt werden. In der selben css datei ist Hintergrund Farbe und Positionierung enthalten

Was habe ich bereits bemerkt?

Wie Ihr auf dem Bild sehen könnt wird der head bereich auf dem linken Bild in den Body geladen. Das rechte Bild ist ein reload durch f5 und der Fehler ist behoben.

Was sagt der Quellcode?

Der Quellcode ist in beiden fällen exakt identisch und korrekt.

Tritt der Fehler auch in anderen Browsern auf?

Nein, ie und firefox getestet. Chrome in aktuellster Version und älteren Fehlerhaft

Was passiert wenn du die css datei direct in den head Bereich kopierst?

Die Seite wird direkt richtig angezeigt, jedoch zeigt mir hier das Entwickler tool ebenfalls das der head Bereich in den body kopiert wurde.

EDIT: Letzter Punkt ist falsch daher neu:

Was passiert wenn du die css datei direct in den head Bereich kopierst?

Die Seite wird ebenfalls Falsch dargestellt.  Weshalb es zuvor anders war, liegt daran das es noch ein offenen Inkognito Fenster gab was auf der tasktleiste lag.

So da ich wirklich nicht weiß was ich euch hier am besten als Quellcode zeige, da ich nicht weiß wo ich nach dem Fehler suchen soll warte ich auf das, was Ihr zur Eingrenzung braucht da ich auf dem Screen den wichtigsten Teil sicher sehen könnt.


----------



## basti1012 (26. März 2020)

Schalte mal alle Erweiterungen aus die du im Chrome installiert hast.
Ich habe da schon einiges erlebt und auch bei anderen gelesen.
Teste es mal einfach und sag mal beischeid was passiert.

Notfalls teste mal einen anderen Pc / Handy mit Chrome


----------



## JuSeCo (26. März 2020)

Hallo und vielen Dank für deinen Hinweis,

leider ergab dies keine Änderung. Hab über den Laptop auf den PC zugegriffen und der selbe Fehler trat auf.

Ebenfalls habe ich inzwischen alle Dateien durchsuchen lassen ob in irgendeiner Datei ein weiter Head Bereich vorhanden ist. Doch auch dort wurde ich nicht fündig.

Weiter habe ich versucht nach ausschluss verfahren zu gehen und habe alle anderen DInge ausser der direkte weg zu dem Formular weg genommen, also kein weiterer Div wird geladen. Fehler besteht ebenfalls.

Das Formular in einer eigenen datei wo auch das css liegt zeigt sich jedoch direkt als richtig an.

Ich schliese somit ein Fehler im css bereich aus.

Was ich derzeit prüfe da ich was gelesen habe ist das es dazu kommen kann, wenn irgendwo ein Leerzeichen ist wo es nicht hingehört, da dies dafür sorgt das Chrome denkt es geht dort um Quellcode den es darstellen muss und so den html tag etc selbst dazu setzt.

Klingt erstmal plausibel daher suche ich nach eben diesem.


----------



## ComFreek (26. März 2020)

Jage deinen Quellcode mal durch einen HTML Validator. Und mit Quellcode meine ich das, was Chrome dir unter der Adresse `view-source:https://www.example.com` anzeigt.


----------



## JuSeCo (26. März 2020)

Auch dich dich vielen Dank ComFreek,

habe deine Lösung nicht getestet da ich sie jetzt erst gelesen habe.

Der Fehler wurde heute gefunden, sowas dummes hab ich selten erlebt.

Der Fehler lag beim Setzen des Cookies, weshalb das nicht im Quellcode ersichtlich war ist mir jedoch ein rätsel, damals als test nutzte ich folgende Zeile:

    if(!isset($_COOKIE["social_leng"])) {
         e#cho "ng";
 .....

Ja genau, das e wurde angezeigt, wodurch bei einem ersten Seitenaufruf der Fehler entstand und nach einem reload erledigt war. 

Leider ist mir der Anzeige Fehler dann wohl erst viel später aufgefallen wodurch ich den Zusammenhang nie gesehen habe.

Vielen Dank jedenfalls und sicher werde ich die Ansätze später noch gebrauchen können.

LG


----------



## basti1012 (27. März 2020)

Hast du das # im echo selbst verursacht( nicht absichtlich ) ?
Oder kam das # durch hochladen oder speichern der Datei zustande ?
Auch komisch das Php errorlog da kein Fehler angezeigt hat .
Die Console zeigt sowas meines wissens nicht an weil ja einfach nur ein e angezeigt wird im Quelltext.


----------



## ComFreek (27. März 2020)

basti1012 hat gesagt.:


> Auch komisch das Php errorlog da kein Fehler angezeigt hat .


Ich bin mir ziemlich sicher, dass da was drinstehen wird. Eigentlich sollte das "e" auch gar nicht erst ausgegeben werden. Aus dem Grund in diesem Thread und auch aus UX- als auch Sicherheitsgründen gibt man PHP-Fehler nicht auf der Website aus, sondern nur in das serverinterne Errorlog.

Und normalerweise bastelt man auch nicht an der Produktionsumgebung herum, sondern bastelt lokal, committed und das Continuous Integration lädt die Dateien erst nach erfolgreicher Prüfung auf den Server hoch. Eine Prüfung könnte etwa phplint umfassen - das hätte den Fehler auch sofort bemerkt


----------



## JuSeCo (27. März 2020)

@basti1012 Ja der Fehler entstand bei mir.

@comfreak es liegt alles auf dem lokalhost und ist nicht online verfügbar. Das e ist auch nicht im quellcode zu sehen jedoch wird offensichtlich dadurch ein weiterer head/title bereich eingefügt und sorgt so für die Fehlerhafte darstellung beim ersten laden.
Die Bedingung ist erfüllt da der Cooki an der stelle noch nicht gesetzt ist und in eben dieser Prüfung gesetzt wird. Ursprünglich erstellte ich das echo um zu sehen ob ich in diese Auswahl auch reinkomme.

phplint kannte ich noch gar nicht, werde ich mich sofort mit befassen habe eine prüfung die nicht gegriffen hat:
<?php
    session_start();
    error_reporting( E_ALL );

ist die erste Zeile.


----------



## ComFreek (27. März 2020)

JuSeCo hat gesagt.:


> habe eine prüfung die nicht gegriffen hat:
> <?php
> session_start();
> error_reporting( E_ALL );
> ...


Der Code bewirkt, dass alle Fehler reported werden. Wohin diese reported werden, darüber sagt der Code nichts aus. Dafür gibt es eine andere Einstellung, ich glaube sie heißt "display_errors". Such mal danach.


----------

