Tag Archives: PHP

15 – Grundlagen HTML & CSS: Eine Kontaktformular mittels PHP verschicken

Das ist die letzte Video-Lektion der Reihe „Grundlagen HTML & CSS“. In diesem abschließenden Video-Tutorial zeige ich Ihnen, wie Sie Ihr Kontaktformular mittels PHP funktionsfähig machen. So müssen die Inhalte der Formularfelder in Variablen übergeben und verarbeitet werden. Mit der PHP-Funktion „mail()“ generieren wir eine Email für den Absender und den Empfänger des Kontaktformulars.

Damit das Kontaktformular richtig verarbeitet wird, kommt es auf die richtige Reihenfolge der PHP-Anweisungen an. In diesem Video gehe ich auf diesem Problem kurz ein. Am Ende haben Sie steht Ihnen ein einfaches, funktionierendes, auf PHP basierendes Kontaktformular zur Verfügung.

Diesen einfachen Quelltext für ein Kontaktformular stelle ich Ihnen hier noch einmal kostenlos zur Verfügung. Das HTML-Gerüst für das Formular ist wie folgt aufgebaut:

<form method="post" action="kontakt.php">
  <table border="0">
  <tr>
    <td>Anrede:</td>
    <td>
      Herr: <input type="radio" value="Herr" name="anrede">
      Frau: <input type="radio" value="Frau" name="anrede">
    </td>
  </tr>
  <tr>
    <td>Vorname:</td>
    <td><input type="text" name="name"></td>
  </tr>
  <tr>
    <td>Nachname:</td>
    <td><input type="text" name="nachname"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" name="mail"></td>
  </tr>
  <tr>
    <td>Ihre Nachricht an uns:</td>
    <td>
      <textarea name="nachricht" cols="45" rows="15">
      </textarea>
    </td>
  </tr>
  <tr>
    <td></td>
    <td>
      <input type="submit" value="abschicken!!!">
      <input type="reset" value="DATEN L&Ouml;SCHEN">
    </td>
  </tr>
  </table>
</form>

Das PHP-Skript für die Verarbeitung des Kontaktformulars sieht wie folgt aus:

<?php
$anrede    = $_REQUEST['anrede'];
$mail        = $_REQUEST['mail'];
$name        = $_REQUEST['name'];
$nachname        = $_REQUEST['nachname'];
$nachricht        = $_REQUEST['nachricht'];

$empfaenger = "info@gordon-adams.com";
$absender = $mail;

$betreffwebmaster = "Kontaktanfrage ($name $nachname)";
$koerperwebmaster = "$name $nachname hat &uuml;ber die
Webseite http://www.gordon-adans.com/blog folgende
Kontaktanfrage gestellt: \n\n" .
"\n\n
Kontaktdaten: \n
\tName:    $anrede $name $nachname \n
\teMail:   $mail \n
\n\n" .
$nachricht;

$betreffkunde = "Ihre Kontaktanfrage bei gordon-adams.com/blog";
$koerperkunde = "Sie ($name $nachname) haben &uuml;ber die
Webseite http://www.gordon-adans.com/blog folgende
Kontaktanfrage gestellt: \n\n" .
"\n\n
Kontaktdaten: \n
\tName:    $anrede $name  $nachname \n
\teMail:   $mail \n
\n\n" .
$nachricht;

$abgesandt = "<br /><h1>Kontaktbest&auml;tigung</h1>
<p>Vielen Dank f&uuml;r Ihre Anfrage. Wir werden uns in
K&uuml;rze bei Ihnen melden.<br><br>Thank you for your
inquiry. We will get back in touch with you shortly!</p>";

mail("$empfaenger",
     "$betreffwebmaster",
     "$koerperwebmaster\n",
     "FROM: $absender\n");
mail("$mail",
     "$betreffkunde",
     "$koerperkunde\n",
     "FROM: $absender\n");
echo $abgesandt;
?>

Analog zu diesem Aufbau können Sie selbstverständlich weitere Felder einfügen oder ergänzen. Mit diesem Video-Tutorial ist diese Serie zu Ende.

Hinweis: Der gezeiget Code wurde an einigen Stellen für eine besser Anzeige umgebrochen. Entfernen Sie die Zeilenumbrüche, sodass die Anweisungen wieder in einer Zeile stehen. Dann wird das PHP-Skript wieder fehlerfrei ausgeführt!

14 – Grundlagen HTML & CSS: Erstellung eines einfachen Kontaktformulars

Unsere erste eigene Internetseite ist nun so gut wie fertig. Was noch fehlt ist ein Kontaktformular. In dieser Video-Lektion erstellen wir ein einfaches Formular. Nach dem Absenden des Formulars erhalten sowohl der Absender, als auch der Empfänger eine Email. Der Absender erhält in der Regel eine Bestätigungs-Email; der Empfänger eine Email mit allen Angaben des Formulars. Natürlich können Sie auch dem Absender alle gemachten Informationen in Kopie per Email zukommen lassen.

Neben dem versenden einer Bestätigungs-Email sollte dem Absender auch eine Bestätigung des erfolgreichen Versendens der Online-Anfrage am Bildschirm angezeigt werden. Der Grund dafür ist, dass der Versandt einer Email (auch der Bestätigungsemail) zeitlich verzögert erfolgen kann. D.h. nach dem absenden einer Anfrage, können durchaus fünf Minuten oder mehr vergehen, bis die Email endlich im Postfach eingeht. Die technischen Hintergründe dazu will ich an dieser Stelle nicht weiter erörtern. Wichtig ist nur, dass Ihnen diese Problematik bewusst ist.

Im Sinn der Nutzerfreundlichkeit / Usablity von Internetseiten ist es in jedem Fall wünschenswert, dem Benutzer einer Internetseite eindeutiges Feedback zu geben, ob etwas funktioniert hat und wenn nicht, was die Gründe dafür gewesen sind und wie dies behoben werden kann.

Die Nutzung von Kontaktformularen gegenüber einfachen Email-Adressen hat folgende Vorteile:

  • Auch Nutzer ohne eine eigene Email-Adresse können ein Formular ausfüllen und Ihnen somit eine Email zukommen lassen (sofern „Email“ kein Pflichtfeld ist)
  • Sie können Pflichtfelder vorgeben, also Angaben abfragen, die Sie in jedem Fall zur Bearbeitung und Beantwortung einer Anfrage benötigen. Bei einer einfachen Email sind Sie darauf angewiesen, dass der Absender von sich aus alle notwendigen Daten mitteilt.

In diesem Zusammenhang zeige ich Ihnen typische HTML-Formular-Felder. Dazu zählen unter anderen:

  • Input-Feld vom Typ „radio“
  • Input-Feld vom Typ „text“
  • Input-Feld vom Typ „submit“
  • Input-Feld vom Typ „reset“
  • HTML-TAG „Textarea“ für Nachrichteninhalte