Problem mit der Verlinkung

  • Hallo ihr Lieben,

    ich habe ein Problem mit der Verlinkung und finde den Fehler einfach nicht.

    Link zur Seite: http://www.planet-gericke.de/neuZimmervermittlung/?page_id=12

    Auf der obigen Seite seht ihr eine Übersicht aller eingetragenen Hotels. Wenn man auf den Namen, Das Foto oder den "Mehr Informationen" Link klickt, soll man auf die Detailseite des Hotels kommen. Dort stehen dann die Preise, die Anfahrt, die Bewertungen und so weiter. Nur kommt man leider durch das Klicken nicht auf die Detailseite.

    Auf meinem lokalen Server (XAMPP) lautete der Link wie folgt und brachte mich auf entsprechende Detailseite.

    Zitat

    index.php?details=".rawurlencode($row['id_objekt'])."

    Seitdem ich das aber live bei Strato probiere, stimmt der Link plötzlich nicht mehr. Ich werde auf die Seite geleitet (der Link in der Adressleiste stimmt), nur wird statt der Detailseite der Inhalt der Startseite angezeigt.

    FireBug zeigt mir an, dass er folgende Seite geladen hat (mit dem Fehler "301 Moved Permanently")

    Zitat

    Ist ja auch richtig, denn unter dem Link gibt es keine index.php.
    Wenn ich den Link ändere (zB in "wp-content/themes/zimmerpotsdam/index.php") komme ich aber auch zu keinem Ergebnis, da mir immer Fehler angezeigt werden (get_header, get_sidebar- get_footer funktionieren nicht).

    Hat einer Tipps für mich? Ich stehe total auf dem Schlauch :(

    • 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

  • Wie wird denn der Parameter details in Wordpress ausgewertet? Das ist ja kein WP-Standard-Parameter, das muß also ein Plugin oder das Theme übernehmen.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Ja gut, aber der Parameter muß ja von Wordpress auch irgendwie verarbeitet werden. Es ist halt meines Wissens kein von Wordpress verwendeter Standarparameter wie z.B. ?p= oder ?page_id=. Also muß dafür ein entsprechender Code in einem Plugin oder in der functions.php des Themes zu finden sein.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Achso? Das wusste ich nicht. Aber wieso ging es dann lokal? Und wie könnte so ein Code lauten?
    Bisher gab es die Seite nur in HTML/CSS und dort ging es. Ich soll sie mit WP umsetzen.

  • Hast Du alle Wordpress-Daten der lokalen XAMPP-Installation auf den Webspace bei Strato kopiert?
    Wenn es lokal schon funktioniert hat, sollte es auch auf dem Server gehen, wenn tatsächlich alle Dateien und die Datenbank 1:1 übertragen wurden. Allerdings müssen ggf. einige Anpassungen vorgenommen werden.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Ich habe die Datenbanken per MySQL Dumper gesichert und auf den Server bei Strato geworfen (1:1).

    Dann habe ich bei Strato die Permalinks auf "Beitragsname" geändert, so wie es bei der lokalen Seite auch war, aber das funktioniert nicht. Er findet die Seiten nicht. Habe es jetzt erstmal bei dem kryptischen Permalink von WP belassen, damit wenigstens etwas funktioniert. Darum kümmer ich mich später.

    Die oben erwähnten Links auf die Detailseiten haben vorher lokal funktioniert. Online nicht mehr. Ich vermute, es liegt an dem eigentlich falschen Link, denn der verweist auf das root Verzeichnis, in dem ja keine index.php liegt. Zumindest nicht diese, auf die ich mich beziehe. Wenn ich allerdings den Link auf die index.php im Theme Verzeichnis zugreife, hat er Probleme den Header, die Sidebar und den Footer einzuladen (per WP get_header, ...). Ersetze ich diese Befehle mit include Befehle, meckert er wieder an anderer Stelle rum, dass er auf irgendwas von WP nicht zugreifen kann. Es ist ein Teufelskreis :(

  • So, Mittagspause beendet. :-)

    Die index.php des Themes ist nicht direkt aufrufbar, sondern wird von Wordpress nachgeladen. In der Richtung mußt Du nicht weiter probieren, das kann nicht funktionieren.

    Meine nächste Frage, wie hast Du Wordpress bei Strato installiert? Per AppWizard?
    Dann fehlen bestimmt noch Sachen von Deiner lokalen Wordpress-Installation, die für die Verarbeitung der Hotel-Daten zuständig sind. Nur der Datenbank-Import reicht da nicht aus.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Ich habe die frisch gedownloadeten, entpackten WP Dateien auf den Server geschoben und die 5 Minuten Installation ausgeführt. Anschließend habe ich den Theme Ordner, die Plugin Ordner und den Upload Ordner rüber geschoben, dann die Hard Links angepasst und zum Schluss die Datenbanken von WP (vom lokalen Server) und die DB mit den Hoteldaten eingespielt.

  • Gut, das klingt erstmal gut. Welche Plugins sind das und welches Theme verwendest Du? Sind die Plugins tatsächlich alle auch auf dem Server aktiv? Gibt es in der lokalen Installation im Wurzelverzeichnis eine Datei my-hacks.php und hast Du die ggf. auch auf den Server kopiert?

    Du schreibst, "und die DB mit den Hoteldaten", also liegen die Daten nicht in der Wordpress-Datenbank. Es muß also irgend etwas existieren, was die externe Datenbank in das System einbindet. Nur was?

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Plugins: Contact Form 7 und Content Slide
    Theme: selbst gemachtes Theme ("zimmerpotsdam")
    my-hacks.php gibt es nicht

    Die Hoteltabellen liegen in derselben Datenbank (habe mich wohl falsch ausgedrückt :) ) wie die WP Tabellen. Auf sie wird mittels include einer Datei zugegriffen, in der die Verbindung zur Datenbank hergestellt wird.
    Soll heißen: ich habe eine Datenbank, in der die WP Tabellen UND die Hoteltabellen stehen.

  • Hmm, nun bin ich mit meinem Latein auch fast am Ende.

    Ansatzpunkt wäre für mich nur noch diese per include eingebundene Datei, welche die Verbindung zu den Hoteldaten herstellt. Was steht da drin?
    Und irgendwo im den Theme-Dateien muß ja auch der Parameter details verarbeitet werden. Das läßt sich jetzt so von außen natürlich schwer nachvollziehen.

    Besonders seltsam ist ja, daß es lokal funktioniert.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Mich macht das total verrückt, dass es nicht funktioniert. Zumal es ja lokal geht.

    Also dieses details verarbeite ich sonst nirgendwo. Das hat der Programmierer vor mir vor 6 Jahren so gemacht und es funktionierte ja auch. Damit wird bloß auf die IDs zugegriffen.

    In der include Datei steht folgendes:

    PHP
    <?php
    mysql_connect("localhost", "Benutzername","Passwort") or die ("Keine Verbindung moeglich");
    mysql_select_db("Datenbankname") or die ("Die Datenbank existiert nicht.");
    ?>
  • Ahhh, da haben wir möglicherweise das Problem. Bei Strato ist der Datenbank-Host nicht "localhost", sondern "rdbms.strato.de". Probier das mal aus.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Naja, ich hab das ja so eingetragen. Wollte nur nicht meine Daten da drin stehen lassen ^^
    Er lädt ja auch alles, was in der DB steht, nur die Verlinkung geht halt nicht. Also an der Verbindung kann es eigentlich nicht liegen.

  • Achso, schade. Das wäre jetzt auch zu einfach gewesen. :-)

    Nun weiß ich wirklich nicht mehr weiter. Was mich nur wundert, irgendwie muß der Parameter details in Wordpress ja ausgewertet werden. Woher soll den Wordpress sonst wissen, das es nun die Details zu einem Hotel anzeigen soll.

    Das der Aufruf mit index.php?details=123 von Wordpress auf die Startseite umgeleitet wird, ist erstmal ein nomales Verhalten. Das passiert auch beim Aufruf der index.php ohne Parameter. Nur wie erfährt Wordpress, was es mit dem Parameter details anfangen soll. Das kann nur im Theme, in einem Plugin oder in der my-hacks.php stecken. Aber wenn Du sagst, da ist nichts derartiges zu finden.

    Plugins sind übrigens nicht nur im Ordener /wp-content/plugins/ zu finden, sondern auch in /wp-content/mu-plugins/ zu finden. Hast Du da auch alles kopiert?

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • So einen Plugin Ordner habe ich gar nicht.

    Ich gucke nochmal nach dem details Parameter. Irgendworan muss es ja liegen *schnaub* und dann melde ich mich nochmal.

    Danke für deine liebe Hilfe <3

    ______________________________________________________________________


    Das Einzige, wo ich dieses details noch nutze, ist in dem hotel.php Template:

    Einmal editiert, zuletzt von Kelli (10. Mai 2013 um 15:05)

  • Ahhh, jetzt kommen wir der Sache näher. Es wird also über ein Seitentemplate verzweigt, ob die Übersichtsseite oder die Detailseite angezeigt werden soll. Da aber das Seitentemplate nicht der Startseite zugwiesen ist, sonder den jeweiligen Übersichtsseiten gibt es zwei Möglichkeiten.

    Entweder Du nimmst die Seiten-ID der Übersichtsseite mit, also das der Link z.B. so aussieht:
    http://www.planet-gericke.de/neuZimmervermi…d=14&details=16
    oder Du erstellst eine neue Seite nur für die Details (bekommt z.B. die ID 1234), und der Link zeigt dann eben auf die feste ID dieser Seite und den Parameter details, also so /?page_id=1234&details=16.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Entschuldigung, ich hatte am Freitag schon Feierabend, als deine Antwort kam :)

    Also wenn ich direkt mal auf den ersten Link in deinem Post klicke, komme ich tatsächlich zu einer Detailseite (ich freue mich darüber gerade wie eine Verrückte :D). Aber wie gebe ich so einen Link denn an? Ich kann ja nicht direkt in die Liste einen festen Link eintragen, da alles aus der DB generiert wird:

    HTML
    <a href="index.php?details=".rawurlencode($row['id_objekt']).""><span class="h2">".$row['name']."</span></a>
  • HABS!

    HTML
    <a href="?page_id=".$_GET['page_id']."&details=".rawurlencode($row['id_objekt']).""><span class="h2">".$row['name']."</span></a>

    Vielen Tausend Dank, Ingo :D:D:D

Jetzt mitmachen!

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