Kontaktformular mit Emailversand

Jeder, der eine Webseite besitzt, möchte dem Besucher eine Kontaktmöglichkeit geben.

In diesem Tutorial wird gezeigt, wie man ein solches Kontaktformular inklusive Emailversand erstellt.

Wir erstellen eine Datei mit dem Namen kontaktformular.php und legen auch gleich los.

Wir fangen zunächst mit dem HTML Gerüst an:
Code:
  1.  
  2. <table>
  3.     <tr>
  4.         <td colspan="2">
  5.             Kontaktformular
  6.         </td>
  7.     </tr>
  8.     <tr>
  9.         <td>
  10.             <label for="name">Name:</label>
  11.         </td>
  12.         <td>
  13.             <input type="text" id="name" name="name" value="" />
  14.         </td>
  15.     </tr>
  16.     <tr>
  17.         <td>
  18.             <label for="email">Email:</label>
  19.         </td>
  20.         <td>
  21.             <input type="text" id="email" name="email" value="" />
  22.         </td>
  23.     </tr>
  24.     <tr>
  25.         <td colspan="2">
  26.             <label for="nachricht">Nachricht</label>
  27.         </td>
  28.     </tr>
  29.     <tr>
  30.         <td colspan="2">
  31.             <textarea id="nachricht" name="nachricht"></textarea>
  32.          </td>
  33.     </tr>
  34.     <tr>
  35.         <td colspan="2">
  36.             <input type="submit" name="senden" value="Nachricht versenden" />
  37.         </td>
  38.     </tr>
  39. </table>
  40.  
Nachdem wir das nötige HTML fertig geschrieben haben, sieht das Ganze im Browserfenster schon einmal so aus:



Jetzt benötigen wir noch das <form> Tag um das HTML Gerüst herum, damit wir mit den eingegebenen Daten arbeiten können.
Code:
  1.  
  2. <form action="kontaktformular.php" method="post">
  3. </form>
  4.  
Dieser Code muss um das ganze HTML Gerüst und sieht dann so aus:
Code:
  1.  
  2. <form action="kontaktformular.php" method="post">
  3. <table>
  4.     <tr>
  5.         <td colspan="2">
  6.             Kontaktformular
  7.         </td>
  8.     </tr>
  9.     <tr>
  10.         <td>
  11.             <label for="name">Name:</label>
  12.         </td>
  13.         <td>
  14.             <input type="text" id="name" name="name" value="" />
  15.         </td>
  16.     </tr>
  17.     <tr>
  18.         <td>
  19.             <label for="email">Email:</label>
  20.         </td>
  21.         <td>
  22.             <input type="text" id="email" name="email" value="" />
  23.         </td>
  24.     </tr>
  25.     <tr>
  26.         <td colspan="2">
  27.             <label for="nachricht">Nachricht</label>
  28.         </td>
  29.     </tr>
  30.     <tr>
  31.         <td colspan="2">
  32.             <textarea id="nachricht" name="nachricht"></textarea>
  33.          </td>
  34.     </tr>
  35.     <tr>
  36.         <td colspan="2">
  37.             <input type="submit" name="senden" value="Nachricht versenden" />
  38.         </td>
  39.     </tr>
  40. </table>
  41. </form>
  42.  
Jetzt kommt der PHP Teil an der Geschichte.
Code:
  1.  
  2. <?php
  3. // Wenn der Button "Nachricht versenden" gedrückt wurde...
  4. if(isset($_POST['senden'])) {
  5.     // Unnötige Leerzeichen aus dem String, sowie HTML und PHP Code entfernen
  6.     $name               = trim(strip_tags($_POST['name']));
  7.     // Unnötige Leerzeichen aus dem String, sowie HTML und PHP Code entfernen
  8.     $email              = trim(strip_tags($_POST['email']));
  9.     // Unnötige Leerzeichen aus dem String, sowie HTML und PHP Code entfernen
  10.     $nachricht          = trim(strip_tags($_POST['nachricht']));
  11.     // Emailtext verfassen
  12.     $text               = 'Name: '.$name.'\n';
  13.     $text               .= 'Email: '.$email.'\n';
  14.     $text               .= $name.' hat folgendes geschrieben:\n.'.$nachricht;
  15.     // Prüfen ob Name gefüllt ist und die Email der Echtheit entspricht
  16.     if(!empty($name) AND eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",$email)) {
  17.         // Email versenden
  18.         mail('Meine@email.de', 'Mein Betreff', $text);
  19.     }
  20. }
  21. ?>
  22.  
Nun der komplette Code nochmal als Ansicht:
Code:
  1.  
  2. <?php
  3. if(isset($_POST['senden'])) {
  4.     $name               = trim(strip_tags($_POST['name']));
  5.     $email              = trim(strip_tags($_POST['email']));
  6.     $nachricht          = trim(strip_tags($_POST['nachricht']));
  7.  
  8.     $text               = 'Name: '.$name.'\n';
  9.     $text               .= 'Email: '.$email.'\n';
  10.     $text               .= $name.' hat folgendes geschrieben:\n.'.$nachricht;
  11.  
  12.     if(!empty($name) AND eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",$email)) {
  13.         mail('Meine@email.de', 'Mein Betreff', $text);
  14.     }
  15. }
  16. ?>
  17. <form action="kontaktformular.php" method="post">
  18. <table>
  19.     <tr>
  20.         <td colspan="2">
  21.             Kontaktformular
  22.         </td>
  23.     </tr>
  24.     <tr>
  25.         <td>
  26.             <label for="name">Name:</label>
  27.         </td>
  28.         <td>
  29.             <input type="text" id="name" name="name" value="" />
  30.         </td>
  31.     </tr>
  32.     <tr>
  33.         <td>
  34.             <label for="email">Email:</label>
  35.         </td>
  36.         <td>
  37.             <input type="text" id="email" name="email" value="" />
  38.         </td>
  39.     </tr>
  40.     <tr>
  41.         <td colspan="2">
  42.             <label for="nachricht">Nachricht</label>
  43.         </td>
  44.     </tr>
  45.     <tr>
  46.         <td colspan="2">
  47.             <textarea id="nachricht" name="nachricht"></textarea>
  48.          </td>
  49.     </tr>
  50.     <tr>
  51.         <td colspan="2">
  52.             <input type="submit" name="senden" value="Nachricht versenden" />
  53.         </td>
  54.     </tr>
  55. </table>
  56. </form>
  57.  

Viel Spaß beim Einbauen und Verwenden des Kontaktformulares.

Nützliche Erklärungen zu Funktionen, die in diesem Tutorial angewendet wurden:
isset() Funktion
empty() Funktion
trim() Funktion
strip_tags() Funktion

Bei Fragen oder Anregungen zu dieser Seite, steht dir das Forum zur Verfügung.

Diese Seite wurde 1.022 mal angesehen.
Bewertung zu dieser Seite:
 
  33 Bewertungen

0 Kommentare zu diesem Thema

Du möchtest einen Kommentar abgeben?
Registriere dich oder melde dich mit deinem tbody-Konto an.