Highscore Liste mit PHP Skript wird in Firefox nicht angezeigt

  • Hallo,

    Auf meiner Seite befindet sich eine HighscoreListe die per PHP Skript Daten von einer MySql DB abruft. Das funktioniert auch in jedem Browser einwandfrei, aber nur über Firefox nicht.

    (PS: Ja ich weiß, prepared statements wären besser)


  • Kannst du das mal online stellen?

    Was zeigt der Firefox ?

    Wird das HTML richtig angezeigt ?

    Ich glaube das der Firefox bei den Mist durcheinander kommt

    Da muss der HTML Code schon vollkommen falsch ankommen.

    Teste die Seite mal bei https://validator.w3.org/ , der sagt dir dann sehr viel über unclosed Elemente usw

    ändere das mal so

  • Nein funktioniert leider auch nicht.

    Es wird leider gar nichts angezeigt und im Debug Modus finde ich auch nichts.



    Und ich habe etwas aufgeräumt. Waren wirklich ein paar unnötige Sachen dabei.

  • Na klar habe ich was geändert. Ich habe bereits einen Teil rausgeschmissen. Wenn ich deinen Code benutze, funktionieren meine Tabellen Formatierungen nicht mehr richtig.

  • Moment Kommando zurück. Ja dein Code funktioniert grundsätzlich. Es wurde nur die falsche Klasse aufgerufen. Aber in Firefox wird es noch immer nicht angezeigt.

  • Trotz kaputten HTML nimm hier mal das overflow:hidden raus

    Code
    .carousel-inner {
        position: relative;
        width: 100%;
       /* overflow: hidden;*/
    }

    Dann sollte alles wieder da sein.

    Man sieht zwar das overflow:hidden fehlt , doch solange das HTML kaputt ist hat das weitere helfen nicht viel Sinn.

  • Na klar habe ich was geändert. Ich habe bereits einen Teil rausgeschmissen. Wenn ich deinen Code benutze, funktionieren meine Tabellen Formatierungen nicht mehr richtig.

    Das weist darauf hin das deine CSS zusammen gefuscht ist.

    Meine Formatierung ist richtig, deine Falsch.

    Das kannst du dir aber denken weil ein </a> ohne offnes <a> gibt es nicht

    genauso wie <tr></th>

  • Das weist darauf hin das deine CSS zusammen gefuscht ist.

    Meine Formatierung ist richtig, deine Falsch.

    Das kannst du dir aber denken weil ein </a> ohne offnes <a> gibt es nicht

    genauso wie <tr></th>

    Wie schon oben geschrieben geht es jetzt mit deinem Programm. Aber deine Vermutung mit der Klasse .carousel-inner ist richtig. Sobald ich die rausnehme geht es auch in Firefox. Nur dann funktioniert alles nicht mehr richtig. Das muss ich mir ansehen wie ich das jetzt am blödsten mache. Da das corousel ja von Bootstrap kommt.

  • Das weist darauf hin das deine CSS zusammen gefuscht ist.

    Meine Formatierung ist richtig, deine Falsch.

    Das kannst du dir aber denken weil ein </a> ohne offnes <a> gibt es nicht

    genauso wie <tr></th>

    Das ganze sieht jetzt so aus:

  • Ich habe das im HTML-Inspektor ein wenig überarbeitet:


    Die Seitenleiste .sideTitle nach unten verschoben und die Elemente mit Grid angeodnet:

    html-seminar.de/woltlab/attachment/3181/


    Code
    nav {
        font-family: "Quicksand";
        display: flex;
        /* Die Zelle soll beide Spalten überspannen: */
        grid-column: 1/3;
    }

    Und das display: grid; im Container der Slideshow heraus genommen:

    Code
    .carousel {
        font-family: "Quicksand", sans-serif;
        / * display: grid; */
        justify-content: center;
        align-items: center; 
        margin-left: 10%;
    }

    Dann sieht alles schon wesentlich besser aus.

  • Ja dann wird es in Firfox angezeigt. Aber sobald ich carousel-inner rusnehme sind die Buttons nicht mehr bedienbar. Ich habe es jetzt aber nur ganz schnell probiert. Ich schaue es mir später nochmal genauer an. Danke schon mal

  • Und jetzt mal eine reine Interessen Frage. Was genau macht Firefox anders. Ich habe mit den anderen Browsern nie Probleme. Nur Firefox fällt immer aus der Reihe!?

  • Da bin ich jetzt nicht eingestiegen warum es nur in Firefox nicht funktioniert. Vermutung: Meistens sind die Browser sehr tolerant gegenüber fehlerhaftem HTML und CSS. Könnte sein, dass FF da weniger tolerant ist oder, anders herum, strenger in Bezug auf Fehler ist.

  • Schön das es jetzt soweit läufz.


    Habe noch 2 Fragen,.

    Hat das irgendein Sinn

    PHP
    $username = htmlspecialchars_decode($username);
    $score = htmlspecialchars_decode($score);

    Sehe nicht das es irgendwo benutzt wird.


    und wenn du im Link keine Get Variablen hast , sollte hier beim errorreprting Fehler auftreten

    PHP
    $field = $_GET['sort'];
                if($field == ''){
                   $field = 'score'; 
                }
    und
    $ordertype = ($_GET['order'] == 'desc')? 'asc' : 'desc';

    Wenn kein GET da ist , sollte im error reporting eigentlich was stehen

  • Wie sollte es den aussehen?

  • Wie sollte es den aussehen?

    Wie es am besten ist kann ich dir auch nicht genau sagen.


    Zb so, erst prüfen, ob es $_GET['order'] gibt

    und dann den ternary operator nutzen und den Inhalt lesen/ausgeben

    PHP
    if(isset($_GET['order'])){
         $ordertype=$_GET['order']=='desc'? 'desc' : 'asc';
    }else{
         $ordertype='asc';//default
    }


    Bei den $_GET['sort']

    würde es sogar mit den coalescing operaor funktionieren

    PHP
    $field =$_GET['sort'] ?? '';

    Der prüft, ob es die Variable gibt, ,wenn ja, dann gibt er das aus was da drinnen steht ,

    Gibt es die Variable nicht ,wird halt das ausgegeben was in '' steht.

    Ob das der beste Weg ist, kann dir sicherlich einer von den PHP Profis sagen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!