Es geht doch, Kontaktformular mit POST und Permalinks

Mein 123 No Rewrite Permalink Plugin hat einen kleinen Nachteil, es können keine Formulardaten per POST an eine Permalinkseite gesendet werden. Deshalb funktionieren z.B. Kontaktformular-Plugins wie der „DD Formmailer“ nicht. Ich habe auf der Pluginseite und auch bei meiner Strato-Permalink-Konfigurationsseite darauf hingewiesen.
Angeregt durch einen Beitrag im WP-Deutschland-Forum habe ich noch mal über das Problem nachgedacht und bin auf eine recht einfache Lösung gekommen. Diese ist zumindest dann praktikabel, wenn es nur um eine oder wenige Seiten mit Formularen geht, in der Regel wird es nur eine Seite für „Kontakt“ oder ähnliches sein. Am Beispiel des schon erwähnten DD-Formmailers werde ich die erforderlichen Schritte beschreiben. Ich gehe davon aus, daß das Formmailer-Plugin bereits installiert ist.

Zunächst wird eine neue statische Seite erstellt, die z.B. „Kontakt“ heißt. Hier wird der Text und Code für den Formmailer eingegeben. Die URL der Seite lautet dann beispielsweise

http://schnurpsel.de/kontakt/

Diese wird bei den Einstellungen für den DD-Formmailer als „Contact page“ eingetragen.

Dann wird eine Kopie der Datei index.php aus dem WordPress-Wurzelverzeichnis erstellt und bearbeitet.
Originale index.php:

<?php
/* Short and sweet */
define('WP_USE_THEMES', true);
require('./wp-blog-header.php');
?>

Bearbeitete index.php:

<?php
/* Short and sweet */
define('WP_USE_THEMES', true);
require('../wp-blog-header.php');
?>

Kleine Änderung, große Wirkung, es ist nur ein Punkt beim require hinzugekommen.
Nun wird per FTP im WP-Wurzelverzeichnis ein Unterverzeichnis /kontakt/ angelegt und die geänderte index.php dort hinein kopiert.

Das wars, jetzt kann man die Kontaktseite aufrufen und Daten absenden, sofern man sonst auch alles andere beim DD-Formmailer richtig konfiguriert hat.
Man kann das auch bei mir hier testen, unter Kontakt, wo sonst? :-)

Und zum Schluß noch ein wichtiger Hinweis: Falls man im WP-Wurzelverzeichnis eine php.ini hat, muß diese ebenfalls mit in das /kontakt/-Verzeichnis kopiert werden, denn im Unterschied zur .htaccess werden die dort gemachten Einstellungen nicht auf Unterverzeichnisse „vererbt“.

4 Reaktionen zu “Es geht doch, Kontaktformular mit POST und Permalinks”

  1. tomk sagt:

    wollte mich für dein tolles Plugin bedanken!
    Ich habe das Hosteurope Paket M und die selben Probleme wie früher die Strato nutzer.
    Jetzt ist die Permalink Struktur toll und selbst das Contact Form 7 WP Plugin funktioniert mit dieser Anleitung.

  2. Mike sagt:

    Funktioniert bei mir leider nicht. Ich bekomme die Fehlermeldung: Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

    Die Seite mit dem Formular heißt „kontakt“, das Verzeichnis heißt „kontakt“ und darin liegt die geänderte index.php. php.ini gibt es nicht.

    Falls Du eine Idee hast, woran es liegen könnte, dann wäre ich für jeden Tipp dankbar. Formular ist DDFormmailer.

    Viele Grüße
    Mike

  3. Das Eine hat mit dem Anderen nichts zu tun.
    Zum Problem „Endlosumleitung“ guckst Du hier:
    WordPress 2.3 – Problem ohne www bei Strato
    Und die Umstände mit dem Kontaktformular muß sich man auch nicht mehr machen, seitdem mod_rewrite funkioniert. Man benötigt das „123 No Rewrite Permalink“-Plugin nicht mehr, dadurch gibt es auch das Problem mit den POST-Daten nicht.

  4. […] klei­ner Nach­trag: Ingo Henze zeigt auch noch einen ande­ren Weg, der zum Ziel füh­ren kann (bei mir hat es nicht […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

 Hier kein Häkchen setzen
 Ich bin kein Spambot

Hinweis: Kommentare von bisher unbekannten Schreibern (Name und eMail) oder mit mehr als einem Link werden moderiert.