Ankündigung

Einklappen
Keine Ankündigung bisher.

Weiterleitung in WordPress durch header()

Einklappen

Neue Werbung 2019

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

  • Weiterleitung in WordPress durch header()

    Hallo zusammen,

    ich habe vor kurzem beschlossen mich mit PHP auseinander zu setzen und bin noch relativ unerfahren, was die Sprache bzw. Semantik angeht. Wäre deshalb für jede Hilfe dankbar!

    Bin momentan dabei mir eine Webseite in WordPress zusammen zu basteln, wo ich ein eigenes Registrierungsformular erstellt habe. Diese Seite soll, die von den Nutzern eingegebenen Daten in eine Datenbank speichern und die Nutzer anschließend zur Startseite (oder auf die selbe Seite) weiterleiten nachdem die Registrierung erfolgreich war.

    Die Registrierung an sich funktioniert super, mit der Weiterleitung komme ich jedoch nicht zu Recht. Habe mir mehrere Tutorials und Beispiel-Codes angesehen und mir ist aufgefallen, dass häufig die Funktion header() verwendet wird, welches ganz oben im Skript stehen sollte(?). Mein Problem liegt aber darin, dass WordPress gewisse Limitationen setzt, was die Weiterleitungen und Seiten angeht (kommt mir zumindest so vor). Deshalb habe ich den kompletten Quellcode (inkl. CSS und HTML) in einer PHP-Datei. So ist er ungefähr aufgebaut (gekürzt auf die wichtigeren Stellen):

    HTML-Code:
    HTML-Code:
      <form class="form" action="" method="POST">   ... ... Inputfelder ... ...   <input type="submit" name="submit" value="Absenden">   </form>
    PHP-Code:
    PHP-Code:
    <?php  if (isset($_POST['submit'])) {   $finished false; ... ... ... Datenverarbeitung ... ... ...  header('Location: https://meineseite.de/index.php'); exit();    ?>
    Ich würde ja eigentlich gerne eine neue PHP-Datei erstellen und das action-Attribut dementsprechend aktualisieren. So wie es scheint ist dies in WordPress aber nicht möglich. Gibt es da dennoch eine Möglichkeit die Weiterleitung durchzuführen? Ich kann mir nämlich nicht vorstellen, dass eine einfache Verlinkung so schwer sein kann. Oder unterschätze ich da was?

    Grüße,
    cico




  • #2
    Wordpress ist halt eine eigenwillige Software, die auch eine eigene htaccess hat um Seiten und Links umzubiegen.
    Wende dich am besten an ein Wordpress Forum für dein Anliegen, da dies mit PHP nichts zu tun hat.

    Die Dokumentation dazu hast du gelesen?

    Kommentar


    • #3
      Zitat von protestix Beitrag anzeigen
      Wordpress ist halt eine eigenwillige Software, die auch eine eigene htaccess hat um Seiten und Links umzubiegen.
      Wende dich am besten an ein Wordpress Forum für dein Anliegen, da dies mit PHP nichts zu tun hat.

      Die Dokumentation dazu hast du gelesen?
      Die haben mir nicht wirklich geholfen bzw. ich wusste auch nicht genau, wonach ich zu suchen habe, da mein Problem ja schon relativ spezifisch ist. Habe das Problem nun mit JS lösen können, will mich aber dennoch nicht geschlagen geben. Gibt es eigentlich nur die Methode header() um eine Weiterleitung zu ermöglichen?

      So sieht mein PHP-Code aktuell aus und sie funktioniert genau so, wie ich es mir vorgestellt habe.
      PHP-Code:
      <?php    if (isset($_POST['submit'])) {     ... ...  Datenverarbeitung 
      ... ...   ?> <script>window.location.replace("https://meineseite.de");</script> <?php ?>
      GIbt es da eine äquivalente Methode/Möglichkeit in PHP?

      Kommentar


      • #4
        Ob es bei Wordpress dazu eine Methode gibt, musst du die Wordpress-Leute fragen. Das hier ist ein PHP-Forum und Weiterleitungen werden in PHP nun mal per HTTP-Header gemacht und das funktioniert auch (mit PHP). Wie das bei Wordpress ist, wie gesagt, andere Baustelle.

        Edit: Ich hab übrigens mal 5 Sekunden gegoogelt und bin auf folgende Wordpress-Funktion gestoßen:

        https://developer.wordpress.org/refe...s/wp_redirect/

        Hast du die schon ausprobiert? Hast du überhaupt schon selber gegoogelt oder die Wordpress-Doku gelesen?

        Kommentar


        • #5
          Zitat von hellbringer Beitrag anzeigen
          Ob es bei Wordpress dazu eine Methode gibt, musst du die Wordpress-Leute fragen. Das hier ist ein PHP-Forum und Weiterleitungen werden in PHP nun mal per HTTP-Header gemacht und das funktioniert auch (mit PHP). Wie das bei Wordpress ist, wie gesagt, andere Baustelle.

          Edit: Ich hab übrigens mal 5 Sekunden gegoogelt und bin auf folgende Wordpress-Funktion gestoßen:

          https://developer.wordpress.org/refe...s/wp_redirect/

          Hast du die schon ausprobiert? Hast du überhaupt schon selber gegoogelt oder die Wordpress-Doku gelesen?
          Jap, diese Methode habe ich auch schon probiert und mir die genaue Dokumentation dafür durchgelesen, hat aber auch nicht funktioniert.
          Na ja, vielen Dank trotzdem für die Antwort.

          Kommentar


          • #6
            "nicht funktioniert" klingt nach kurz ausprobiert und sofort aufgegeben. Warum hat sie nicht funktioniert? Bist du dem auf dem Grund gegangen?

            Kommentar


            • #7
              Zitat von hellbringer Beitrag anzeigen
              "nicht funktioniert" klingt nach kurz ausprobiert und sofort aufgegeben. Warum hat sie nicht funktioniert? Bist du dem auf dem Grund gegangen?
              Na ja, nachdem die Daten in die DB eingetragen werden tut sich in der URL-Leiste des Browsers nichts mehr. Warum sie nicht funktioniert kann ich mir auch nicht erklären. Habe auch versucht diese Methode in einem if-Block zu packen, damit sie erst ausgeführt wird, wenn die Abarbeitung der Daten zu Ende ist, was aber auch nicht hilfreich war, Ich vermute mal, dass es daran liegt, dass der header ganz oben in meinem Skript mit get_header() bereits aufgerufen wird. Bin mir aber nicht sicher ob es daran liegt. Bin eben noch ein Noob

              Kommentar


              • #8
                Zitat von cico Beitrag anzeigen
                Na ja, nachdem die Daten in die DB eingetragen werden tut sich in der URL-Leiste des Browsers nichts mehr. Warum sie nicht funktioniert kann ich mir auch nicht erklären.
                Naja, dann schaut man halt nach, was passiert. Wird der richtige HTTP-Header geschickt? Gibt es Fehlermeldungen im Error-Log? wp_redirect() hat einen Rückgabewert, hast du dir den angeschaut?

                Zitat von cico Beitrag anzeigen
                Habe auch versucht diese Methode in einem if-Block zu packen, damit sie erst ausgeführt wird, wenn die Abarbeitung der Daten zu Ende ist, was aber auch nicht hilfreich war, Ich vermute mal, dass es daran liegt, dass der header ganz oben in meinem Skript mit get_header() bereits aufgerufen wird. Bin mir aber nicht sicher ob es daran liegt. Bin eben noch ein Noob
                Und als Noob fängt man gleich mit Wordpress an, statt sich erstmal mit PHP vertraut zu machen?

                Kommentar

                Lädt...
                X