Anzeige
Tutorialbeschreibung

Kontaktformulardaten mit PHP versenden

Kontaktformulardaten mit PHP versenden

In diesem Tutorial lernt Ihr, wie man mit PHP Daten aus einem Kontaktformular an eine E-Mail-Adresse versendet.

Denkt daran das Ihr Webspace braucht der PHP unterstützt. Um das Script lokal zu testen benutzt ihr am besten XAMPP. Die meisten von euch haben das aber sicherlich auf dem PC.

 

Wir erstellen uns 2 Dateien: kontaktformular.php und versenden.php.

 

Ich habe ein Formular vorgefertigt und in diesem Tutorial werden wir mit diesem arbeiten. Denkt daran, wenn ihr es ändert, das ihr auch in der PHP Datei die entsprechenden Einstellungen vornehmt.

 
So, kommen wir zum ersten Schritt, dem Formular:
 

<table border="0" align="center" cellpadding="1" cellspacing="2">
<form action="versenden.php" method="post">
    <tr>
        <td>Name:</td>
        <td><input name="Name" size="20" type="text"></td>
    </tr>
    <tr>
        <td>Email:</td>   
        <td><input name="Email" size="20" type="text"></td>
    </tr>
    <tr>
        <td>Betreff:</td>
        <td><select name="Betreff" size="1"><option>Hilfe</option><option>Kritik</option><option>Werbung</option></select></td>
    </tr>
    <tr>
        <td>Nachricht:</td>
        <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
    </tr>
    <tr>
        <td>W&uuml;nsche Antwort:</td>
        <td>Ja <input name="Antwort" checked type="radio" value="Ja">
        &nbsp;&nbsp; Nein<input name="Antwort" type="radio" value="Nein">
        </td>
    </tr>
    <tr>
        <td>Newsletter abonnieren:</td>
        <td><input checked name="Newsletter" type="checkbox" value="Ja"></td>
    </tr>
    <tr>
    <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken"> &nbsp;&nbsp; <input name="Reset" type="reset" value="L&ouml;schen"></td>
    </tr>
  </form>
</table>

 

So sieht das Formular aus. Formatierungen um es an die Seite anzupassen, lassen wir in dem Fall mal weg.

Dieses speichern wir unter kontaktformular.php .

 

Weiter geht’s mit der PHP Datei:


<?php
$Empfaenger = "email@adresse.de";      //Die E-Mail-Adresse an die die Daten gesendet werden!
if($_REQUEST['Send'])    //Hier wird geprüft, ob der Senden Button angeklickt wurde!
{
//In der folgenden Codeteil wird überprüft, ob die Pflichtfelder leer sind. Ist dies der Fall, kommt eine Fehlermeldung.
if ( empty ($_REQUEST['Name'] ) || empty ( $_REQUEST['Email'] ) ||
empty ( $_REQUEST['Nachricht'] ) )

//Die Fehlermeldung mit einem Link zurück zur Formularseite.
{
echo"Bitte gehen Sie <a
href="javascript:history.back();">zur&uuml;ck</a> und f&uuml;llen
Sie alle Felder aus!";
}
//Sind die Felder Name, E-Mail und Nachricht mit Inhalt gefüllt, geht es hier weiter.
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: //Text der über den Daten in der E-Mail steht.
nn";
while(list($Formularfeld, $Wert)=each($_REQUEST)) //Hier wird dem Script gesagt, das er die Angaben aus dem Forumlar gelistet ausgeben soll. Zuerst steht dort der Name des Forumlarfeldes, und dann der eingegebene Wert.
{
if($Formularfeld!="Send") //Wurde der Senden-Button gedrückt, werden die Daten jetzt übergeben.
{

$Mailnachricht .= $Formularfeld.":
".$Wert."n";
}
}
$Mailnachricht .= "nDatum/Zeit: ";  //Die Ausgabe des Datums und Uhrzeit erfolgt unter den ganzen Angaben
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From:
".$_REQUEST['Email']);
echo"Vielen Dank f&uuml;r Ihre eMail!"; //Dieser Text erscheint im Browser wenn die Daten vollständig versendet wurden.
}
}
//Ist ein Fehler aufgetreten, erscheint die folgende Meldung.
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a
href="kontaktformular.php">Seite</a>.";
}
//Ende des Scripts.
?>


 

So, das war es eigentlich schon. Ich hoffe, es hat euch ein bißchen gefallen und weitergeholfen. Wie gesagt ein ganz einfaches Script. Wenn Interesse besteht, schreibe ich noch weitere Tutorials. Bin für jede Kritik offen. Falls irgendwas sein sollte, sei es mit dem beschreiben des Scriptes, einfach melden per PM.

Peter


DVD-Werbung
Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Alternative Portrait

-versteckt-(Autor hat Seite verlassen)

  • 11.08.2012 - 16:48

Syntaxfehler - und daher unbrauchbar

Portrait von wahke
  • 25.12.2010 - 23:51

Sehr gutes Tutorial. Vielen Dank

Portrait von Manu4u
  • 09.12.2010 - 20:59

ich muss ganz ehrlich sagen sieht nett aus und danke für die mühe aber für anfänger sehr schwer zu verstehen und klappt auch nicht ganz.

Portrait von Rasako
  • 05.08.2010 - 23:50

hm also ich bekomme keine E-Mail schade eigentlich!

Portrait von graphik_gus
  • 30.07.2010 - 19:19

Vielen Dank für Mühe. Für mich als Anfänger ist das aber noch etwas zu hoch, nicht was das html angeht, aber bei PHP steig ich aus.

Portrait von moshabella
  • 13.07.2010 - 19:06

wie schon gesagt: zu wenig erklärt. zudem wird die sende-datei falsch ausgegeben, da anführungszeichen anstelle eines apostophs in die links gesetzt wurden.

Portrait von xfrankyx
  • 15.04.2010 - 12:02

müsste wirklich etwas detailierter erklärt werden...
für anfänger zu wenig erklärt...
sonst ganz gut...

Portrait von brodnicas
  • 09.04.2010 - 10:38

kontaktformular habe ich bearbeitet, nun wollte ich die php datei bearbeiten, wo kopiere ich sie rein, bin wirklich anfänger...

bisher finde ich es zu wenig erklärt, manche vorgehensweisen sind einfach für anfänger noch nicht selbstverständlich...

Portrait von nellynelly
  • 14.02.2010 - 20:04

bei mir funktioniert auch nicht so wie ich gehofft habe......aber ich bin auch noch anfänger.....aber trotzdem danke!!!

Portrait von feuergeist
  • 11.02.2010 - 08:45

dann wollen wir mal.... danke für die anleitung!

Portrait von SnowDragon
  • 22.01.2010 - 13:34

Bei mia kommt auch ne Fehlermeldung -.-

Portrait von no_username
  • 19.12.2009 - 12:35

Danke, das mit dem Mail hat irgendwie nicht so funktioniert...hab es online probiert...
Für alle die einen parse error gekriegt haben:
auf zeile 41 und 12 die inneren zwei " ersetzen durch ' ,damit php nicht das Gefühl hat, der code gehe weiter

Portrait von micke83
  • 01.12.2009 - 18:03

bei mir kommt die Fehlermeldung Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /srv/www/.../versenden.php on line 12
und was bedeutet das? hab keine Ahnung von PHP

Portrait von tonimi
  • 28.10.2009 - 21:14

ja und wie speichert man den 2. teil?

Portrait von bowking94
  • 12.09.2009 - 10:39

musst noch die " noch in den echos wegmachen!!!
aber sonst ganz gut ;)

Portrait von klobuerste14
  • 28.08.2009 - 13:09

giebt son paar kleine probleme mit " und ' bei mir hab ich aber bis jetzt beheben können.. jetzt giebts nurnoch ein problem mit dem smtp server und na PHP.ini datei wovon ich null ahnung hab.
aber danke, das script ist eine gute grundlage.

Portrait von PhoebeB
  • 22.05.2009 - 12:30

Das Script funktioniert bei mir leider nicht. Ich habe für den Test nur meine E-Mail Adresse bei versenden.php eingetragen.
Ich bekomme immer diese Fehlermeldung:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /homepages/31/d277171063/htdocs/test/versenden.php on line 12

Weiß jemand eine Lösung? Ich brauche dringend ein Kontaktformular mit Pflichtfeldern... Ist für einen Tierschutzverein, ich betreue die Seite ehrenamtlich.

Liebe Grüße in die Runde und ein schönes Wochenende!

PhoebeB

Portrait von chris213
  • 07.05.2009 - 15:41

prima, brauchbares Script, freue mich schon auf die Ausführung

Portrait von SiSc1987
  • 01.12.2008 - 00:32

Ich werd mich das ganze gleich mal anschauen - bin grad auf der Suche nach Erklärungen für diese Materie.

Portrait von denise2302
  • 23.04.2008 - 14:23

Ansich gut erklärt die Sachen, aber trotzdem ist das Tut nicht selber geschrieben....

x
×
×