Ich erkläre, wie man ein Kontakt-Formular in einer Datei unterbringt !
Hi !
Ich werde dir jetzt erklären, wie du ein Kontaktformular mithilfe von PHP kinderleicht erstellst !
Los gehts ...
Ich erstelle eine Datei namens "kontakt.php" und öffne diese mit einem beliebigen Text-Editor .
Jetzt muss erstmal eine
Form -in der die Input felder sitzen- her :
PHP:1
2
| <form action="kontakt.php?action=send" method="POST">
</form> |
Im
action-tag wird die Adresse zum
Sende Formular angegeben .
Da ichja nur eine Datei will, werde ich das
Sende Formular ebenfalls in dieser Datei unterbringen - dazu später !
Nun brauch ich eine Tabelle, in der die
Inputs sitzen werden .
PHP:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <form action="kontakt.php?action=send" method="POST">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" valign="middle" class="mainpage">Ihr Name : </td>
<td height="35" valign="middle"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Emailadresse : </td>
<td height="35" valign="middle"><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihr Betreff :</td>
<td height="35" valign="middle"><input type="text" name="betreff" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Nachricht :</td>
<td height="180" valign="middle"><textarea name="nachricht" cols="50" rows="10"></textarea></td>
</tr>
</table>
</form> |
Hier habe ich 4 Felder benutzt .
"name", "email", "betreff" sowie "nachricht".
Diese namen werden beim
submitten von PHP benutzt .
Sie können natürlich beliebig abgewandelt werden !
Jetzt muss noch der
Submit-Button her, damit die Variablen "name", "email", "betreff" und "nachricht" gesendet werden .
PHP:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <form action="kontakt.php?action=send" method="POST">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" valign="middle" class="mainpage">Ihr Name : </td>
<td height="35" valign="middle"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Emailadresse : </td>
<td height="35" valign="middle"><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td height="22" valign="middle" class="mainpage">Ihr Betreff :</td>
<td height="35" valign="middle"><input type="text" name="betreff" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Anfrage :</td>
<td height="180" valign="middle"><textarea name="nachricht" cols="50" rows="10"></textarea></td>
</tr>
</table>
<div align="center"><input type="submit" value="Abschicken"></div>
</form> |
Der
Submit-Button wurde von mir mithilfe von <div> zentriert .
Die Aufschrift
Abschicken kann ebenfalls abgeändert werden .
Es spielt keine Rolle was draufsteht
Jetzt kommt PHP dazu !
PHP:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| <?PHP
$sendto = "info@fischertechnologies.de";
$message = "
Name : $name
Email : $email
Nachricht :
$nachricht
";
?>
<form action="kontakt.php?action=send" method="POST">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" valign="middle" class="mainpage">Ihr Name : </td>
<td height="35" valign="middle"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Emailadresse : </td>
<td height="35" valign="middle"><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td height="22" valign="middle" class="mainpage">Ihr Betreff :</td>
<td height="35" valign="middle"><input type="text" name="betreff" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Anfrage :</td>
<td height="180" valign="middle"><textarea name="nachricht" cols="50" rows="10"></textarea></td>
</tr>
</table>
<div align="center"><input type="submit" value="Abschicken"></div>
</form> |
Hier bestimme ich die Variablen "message" und "sendto" .
Du wirst sicher sehen, dass ich hier wieder "name", "email", "betreff" und "nachricht" benutze .
Wie vorhin angedeutet, wandelt PHP die namen der Inputs beim
submitten in Variablen um !
Wieso habe ich kein $betreff verwendet ?
Das siehst du gleich !
PHP:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| <?PHP
$sendto = "info@fischertechnologies.de";
$message = "
Name : $name
Email : $email
Anfrage :
$nachricht
";
if ($action == "send") {
if ($name == "" || $betreff == "" || $nachricht == "" || !preg_match("/[.a-z0-9_-]+@+[.a-z0-9_-]+.+[.a-z0-9_-]{2,}/i", $email)) {
echo "Es wurden nicht alle Felder korrekt ausgefällt!";
} else {
mail($sendto, "FischerTECHNOLOGIES - Support : " . $betreff . " [" . date("d.M.Y") ."]", $message);
echo "Nachricht erfolgreich gesendet!<p>[" . date("d.M.Y") . "]";
}
} else {
?>
<form action="kontakt.php?action=send" method="POST">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" valign="middle" class="mainpage">Ihr Name : </td>
<td height="35" valign="middle"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Emailadresse : </td>
<td height="35" valign="middle"><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td height="22" valign="middle" class="mainpage">Ihr Betreff :</td>
<td height="35" valign="middle"><input type="text" name="betreff" size="20"></td>
</tr>
<tr>
<td valign="middle" class="mainpage">Ihre Anfrage :</td>
<td height="180" valign="middle"><textarea name="nachricht" cols="50" rows="10"></textarea></td>
</tr>
</table>
<div align="center"><input type="submit" value="Abschicken"></div>
</form>
<?PHP
}
?> |
Als erstes habe ich eine
If-Schleife reingesetzt, die überprüft, ob der User die Mail fortschicken will, oder nicht - wir haben im
Form-Tag ja angegeben, dass
?action=send die Variable $action auf "send" gesetzt wird !
Genau dies wird von der ersten
If-Anweisung überprüft .
Somit teile ich dem Formular mit, dass er nicht mehr das Fomular ausgeben soll, sondern die Mail verschicken !
Ich habe noch eine zweite
If-Anweisung eingebaut .
Sie überpfrüft, ob alle Felder ausgefüllt wurden .
Falls du es entdeckt hast :
PHP:1
| mail($sendto, "FischerTECHNOLOGIES - Support : " . $betreff . " [" . date("d.M.Y") ."]", $message); |
Hier verwende ich nun die $betreff-Variable .
Der Mailto-Befehl wird folgendermaßen aufgebaut :
PHP:1
| mail(EMAIL, BETREFF, NACHRICHT, X-HEADER); |
Allerding braucht man keine X-HEADER, deswegen habe ich sie auch weggelassen !
Ich hoffe, dir hat mein Tutorial weitergeholfen ...
Bitte schreib per Kommentar, was du verbesserungswürdig findest !
MfG
Kevin Fischer
Dieses Tutorial wurde von Gelöscht #644 am 03.01.2006 verfasst.