Kontaktformular mit php

  • Hallo,
    ich habe ein echt blödes Problem. Ich bin zur Zeit dabei ein simples Kontaktformular für meine Homepage zu erstellen und zwar in Verbindung einer php-Datei. Es hatte auch alles geklappt; nur jetzt auf einmal wird die Email zwar wie immer verschickt, aber ohne Inhalt des Schreibenden. Ich weiß nicht, was ich falsch gemacht habe und finde keinen Fehler. Ich arbeite mit Dreamweaver und habe dort auch ein einfaches html-Kontaktformular erstellt und beide Dateien auch miteinander verknüpft. Ich kenne mich noch nicht so gut damit aus, sodass ich keinen Feher finden würde, wenn ich einen gemacht habe. Ich hoffe, ihr könnt mir helfen... Danke schonmal.

    Ich habe folgendes Script für die php-Datei verwendet:

    <?php

    /* Betreff und Email Variable*/

    $emailBetreff = 'Kontakt sabues.de';
    $webmaster = 'mail@sabues.de';

    /* Emailform Daten */

    $nameFeld = $_POST['name'];
    $emailFeld = $_POST['email'];
    $betreffFeld = $_POST['betreff'];
    $nachrichtFeld = $_POST['nachricht'];

    $body = <<<EOD
    <br><hr><br>
    Name: $name <br>
    E-Mail: $email <br>
    Betreff: $betreff <br>
    Nachricht: $nachricht <br>
    EOD;

    $headers = "Form: $email\r\n";
    $headers .= "Content-type: text/html\r\n";
    $headers = mail($webmaster, $emailBetreff, $body, $headers);

    /* Antwort */

    echo "Ihr E-Mail wurde erfolgreich versendet. Vielen Dank!"


    ?>

  • Bitte, haltet euch doch mal daran:

    Richtig debuggen

    Man bemerkt, dass ein Skript nicht das tut, was es soll.
    Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


    Außerdem solltest du auf die Mail-Funktion von PHP verzichten und besser eine fertige Klasse w.z.B. den phpMailer einsetzen.