statische Seite mit PHP stört Sidebar

  • Hallo,

    ich habe eine statische Seite erstellt, in die ich per php eine Tabelle aus einer externe DB einlese, was auch soweit gut funktioniert. Bis auf das die Sidebarwidgets teilweise ausgeblendet werden. Nur auf der statischen Seite, ansonsten wird die Sidebar im Blog korrekt angezeigt.

    Leider kann ich keinen Link angeben, weil der Blog nicht öffentlich ist.
    Ich hänge mal zwei Screenshots mit Soll- und Ist-Zustand der Sidebar.

    Vielleicht kann mir trotzdem jemand einen Tipp geben, woran das liegen kann, das die Sidebar so verstümmelt wird.

    Danke im voraus,
    diltigug

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo marX,

    die Seite nutzt das Standard-Seitentemplate wie andere statische Seiten auch, bei denen der Fehler nicht auftaucht.

    Auf doppelt vergebenen id- oder class-Bezeichnungen habe ich auch schon kontrolliert, das ist´s auch nicht.

    Gruß,
    diltigug

  • Sind die Widgets im HTML-Code sichtbar, d.h. ist es vielleicht ein Anzeige-Problem, oder tauchen die dort auch nicht auf? Ist der HTML-Code valide, oder könnten Markup-Fehler das Problem verursachen?

  • Sind die Widgets im HTML-Code sichtbar, d.h. ist es vielleicht ein Anzeige-Problem, oder tauchen die dort auch nicht auf? Ist der HTML-Code valide, oder könnten Markup-Fehler das Problem verursachen?

    Im Quelltext tauchen die fehlenden Teile auch nicht auf.
    Das mit der Validität des eingefügten Codes könnte ein Ansatz sein (Der Code kommt aus einer alten Seite, wo noch nicht so drauf geachtet wurde).
    Werde ich mal durcharbeiten.

    Melde mich nochmal, wenn ich das gerichtet habe.

    Danke erstmal.

  • so, da bin ich wieder

    Puh, das war jetzt ein Stück Arbeit.
    Von 440 Errors runter auf 3, leider immer noch ohne Erfolg :-?:

    Der Erste Fehler ist einer, den ich schon immer hatte, der aber noch nie Probleme bereitet hat.
    Die anderen beiden liegen genau in dem Bereich der Sidebar, wo WP anscheinend keinen vollständigen Code auswirft.

    Hat vielleicht noch einer ´ne Idee, warum das nicht funkt?

    Bin für jeden Tipp dankbar,
    diltigug

  • Fehler 1: In XHTML werden alle Attributname klein geschrieben, also "onload" statt "onLoad".

    Die anderen beiden sind wahrscheinlich "leere" Listen, also <ul> ohne <li> als Inhalt. Dürfte kein Problem sein.

    Ansonsten hab ich aber auch keine Idee mehr. Die Sidebar nutzt Widgets, oder statisch? Wenn statisch dann poste doch mal bitte den Inhalt der sidebar.php. Vielleicht findet sich da was.

    Wenn die Seite älter ist, welche WP-Version läuft da? Eine aktuelle oder eine ältere? Vielleicht behebt ja ein WP-Update das Problem.

  • Fehler 1: In XHTML werden alle Attributname klein geschrieben, also "onload" statt "onLoad".


    Super, dann habe ich den endlich auch mal weg.


    Die anderen beiden sind wahrscheinlich "leere" Listen, also <ul> ohne <li> als Inhalt. Dürfte kein Problem sein.


    Das sind m. E. die leeren, bzw. unvollständig generierten Listen der Sidebarwidgets.


    Ansonsten hab ich aber auch keine Idee mehr. Die Sidebar nutzt Widgets, oder statisch? Wenn statisch dann poste doch mal bitte den Inhalt der sidebar.php. Vielleicht findet sich da was.

    Wenn die Seite älter ist, welche WP-Version läuft da? Eine aktuelle oder eine ältere? Vielleicht behebt ja ein WP-Update das Problem.


    Das Theme, bzw. die Sidebar benutzt widgets und basiert auf dem deutschen default-Theme, mit dem der Fehler übrigens auch auftritt (ein drittes habe ich noch nicht getestet). Die Version ist derzeit noch 2.5.1.

    Schon blöd, kann es eventuell an meinem php-code liegen? Meine php-Kenntnisse gehen ungefähr soweit wie ein "Jetzt lerne ich php"-Anfängerbuch.
    Ich werde nochmal ein anderes Theme ausprobieren, meld mich wieder.

    Danke erstmal,
    Gruß,
    diltigug

  • Das sind m. E. die leeren, bzw. unvollständig generierten Listen der Sidebarwidgets.


    Ja meine ich ja auch, passt schon. ;-9

    Zitat

    Das Theme, bzw. die Sidebar benutzt widgets und basiert auf dem deutschen default-Theme, mit dem der Fehler übrigens auch auftritt (ein drittes habe ich noch nicht getestet).


    Möglicherweise hat auch eins der Widgets ne Macke. Sind das alles Standard-Widgets, oder nachinstallierte? Versuche die mal nach u. nachabzuschalten, vielleicht findest du ein fehlerhaftes. Dann kann man da weiter forschen. hast du vielleicht ein Code-Widget? (Text-Widget mit PHP-Code + PHP-Exec-Plugin o.ä.)
    Eventuell hat das error.log des Servers auch eine Fehlermeldung für dich parat.

    Zitat

    Die Version ist derzeit noch 2.5.1.


    Oki.

    Zitat

    Schon blöd, kann es eventuell an meinem php-code liegen?


    Eher nicht, außer du hast Widgets selbst mit Code versehen. Ansonsten kommt alles Widget-Zeugs ja aus dem WP-Kern bzw. aus Plugins.

    Zitat

    Ich werde nochmal ein anderes Theme ausprobieren, meld mich wieder.


    Mach das, vielleicht können wir das ja das Theme ausschließen.

  • Zwischenbericht:

    Hab´ jetzt mal die Widgets durchgetestet. Von den Verwendenten sind 4 Stück betroffen:
    Seiten-, Links- und Tag-Widget erscheinen gar nicht und beim Kategorie-Widget erscheint nur der Titel und eine unvollständige Liste im Code.

    Während das Kategorie-Widget unvollständig ist, scheinen die anderen beiden gar nicht geladen zu werden, da darunterliegende Widgets nachrücken.

    Die von mir erstellten Widgets scheinen keinen Einfluss zu mehmen, ich habe sie mal deaktiviert, keine Änderung bei den anderen Widgets. Es handelt sich um eins mit Code von wetter.com und eins, was den rss-feed eines microblogs (Asaph) einliest. Die werden nicht gestört und scheinen nicht zu stören.

    Zum Theme ist mir noch eingefallen das es auf dem deutschen Default-Theme basiert, welches mit der WP-Version 2.2.3 rausgekommen ist.
    Allerding, inzwischen habe ich noch das classic-Theme getestet, auch hier treten die Fehler auf. Womit man wohl das Theme als Ursache ausschliessen kann.

    :-?
    diltigug

  • Während das Kategorie-Widget unvollständig ist, scheinen die anderen beiden gar nicht geladen zu werden, da darunterliegende Widgets nachrücken.


    Deaktivier mal testweise das Kategorie-Widget. Wenn das nur teilweise geladen wird, dann hat das vielleicht irgendwelche Probleme.

  • Deaktivier mal testweise das Kategorie-Widget. Wenn das nur teilweise geladen wird, dann hat das vielleicht irgendwelche Probleme.


    Probiert, die anderen Widgets erscheinen trotzdem nicht.


    Ich habe inzwischen mal eine neue statische Seite angelegt und mit php nur ein einfachen echo-Befehl ausgeführt: Sidebar ist korrekt und komplett.

    Dann habe ich eine Datenbankverbindung ergänzt und ein Ergebnis ohne weitere Formatierungen ausgegeben: Sidebar wird gestört.

    Verändern von Variablennamen der DB-Verbindung: keine Auswirkung, Sidebar wird gestört.

    Ist der Wunsch Daten aus einer anderen DB einzulesen eigentlich so ungewöhnlich? Bin ich eigentlich der Einzige, der hiermit ein Problem hat?

  • Achso, da liegt das problem, das hab ich doch glatt überlesen. Ja, das ist eigentlich schon unüblich, normal versucht man innerhalb eiens Scripts keine neue DB-Verbindung aufzubauen, sondern die bestehende zu nutzen. Dazu gabs schon mal nen längeren Thread hier im Forum, mal schauen ob ich den noch finde...

    Edit: Schau mal ob dir der Thread hier weiterhilft:
    http://forum.wordpress-deutschland.org/plugins-und-wi…lermeldung.html

  • "Datenbankverbindung" war tatsächlich das entscheidende Stichwort für die Forumssuche :-)

    Bei mysql_connect() muss als vierter Parameter ein "true" übergeben werden, damit die bestehende WordPress-Datenbankverbindung nicht gestört wird.

  • Hurra, es kommt wieder Hoffnung auf :-D.

    Jetzt muss ich nur noch wissen, wie die Syntax mit dem true genau aussehen muss, so ungefähr?:

    PHP
    $link = mysql_connect("localhost", $user, $pass, true);
    mysql_select_db($data, $link);

    und am Ende vom Skript ein

    PHP
    mysql_close();

    ?
    Schliesse ich damit nicht evtl. auch die WP-DB-Verbindung?

    Kurz vor´m Ziel, ich spür´s...

    diltigug

  • Argh, es funkt, es funkt, es funkt...

    ...mir kommen die :cry:, :mrgreen:.

    Danke für Eure Geduld, vor allem marX.

    Schönen Abend noch,
    diltigug

    P.S. bis auf das meine SQL-Abfragen, die vorher einwandfrei funktionierten, jetzt irgendwie spinnen.

    Aber ich glaub, das schau ich mir später genauer an.

  • Genau so. Du musst nur aufpassen, dass du immer deine Verbindungskennung (die dir mysql_connect() zurückliefert und du in $link speicherst) an die Abfragen und sonstigen DB-Befehle übergibst, damit PHP weiß, welche Verbindung du gerade ansprechen möchtest. Aber da kann dir auch das PHP-Manual weiterhelfen.

    PHP
    mysql_close( $link );

    Na dann viel Erfolg weiterhin. :-)

Jetzt mitmachen!

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