Form mailer

Heute erlär ich euch wie man ein Formular macht dessen ausswertung an eine beliebige e-mail adresse geschickt werden kann.
Hier habt ihr mal den Code darunter is findet ihr die Erklärung:


<?php

$empfaenger = "-xXx-@webstylez.net"; // Emailadresse des Empfängers

?>
<form name="kontaktformular" method="post" action="<? echo $PHP_SELF; ?>?action=send">
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"><b>Name:</b></td>
<td width="350">
<input type="text" name="name" size="35">
</td>
</tr>
<tr>
<td width="100"><b>Betreff:</b></td>
<td width="350">
<input type="text" name="betreff" size="35">
</td>
</tr>
<tr>
<td width="100"><b>Email:</b></td>
<td width="350">
<input type="text" name="email" size="35">
</td>
</tr>
<tr>
<td width="100" valign="top"><b>Inhalt:</b></td>
<td width="350">
<textarea name="inhalt" cols="30" rows="4"></textarea>
</td>
</tr>
<tr>
<td width="100" valign="top">&nbsp;</td>
<td width="350">
<input type="submit" name="submit" value="senden">
<input type="reset" name="reset" value="zurücksetzen">
</td>
</tr>
</table>
</form>

<?
if($action == "send") {
$inhalt = "Email des Verschickers: ".$email."

".$inhalt;
$header = "From: "".$name."" <".$email.">
";
mail($empfaenger, $betreff, $inhalt, $header);
echo "Verschickt.";
} else {
echo "Füllen sie das Formular aus!";
}
?>


Also ganz obn kommt die Empfänger Mailadresse hin die wird in der Variable $empaenger gespeichert (kann natürlich auch karlheinz heißn oder charles amoa und sonstwas was x beliebiges).
Mit


<? echo $PHP_SELF; ?>


wird der pfad der .php datei geholt und dann als zb: /bllala.php?action=send ausgegeben.

Dann kommt ein stink normales Html Formular wichtig dabei sind die Bezeichnungen der einzelen Felder (zb.: name="name" oder name="inhalt") Da die nachher im php code mit denen im html code übereinstimmen müssen.
Falls ihr ein ein verschlüsseltes Feld habn wollt also das der Inhalt mit Punkten angezeigt wird (für ein pw oder so) gebt ihr bei "input type"
"password" statt "text" ein.
Wenn ihr ein größeres Feld aus für Name, Passwort oder so wollt müsst ihr


<textarea name="inhalt" cols="30" rows="4"></textarea>


nehmen, das wär dann wie hier für den Inhalt gedacht.

Gut komen wir zum PHP Teil.

Ja durch die If anweisung wird getestet ob in allen Feldern was drinnen steht. Is dem nicht so kommt wird der Text der bei else steht angezeigt.
Mit dem befehl mail($empfaenger, $betreff, $inhalt, $header) wird die mail gesendet.

Das was auch schon. Fragn ins Forum oder in den IRC Channel #webstylez @ quakenet

Kommentare

Tripple_X
Tripple_X am Freitag, 9. April 2004 um 23:17

geht net :(
<br>

azz
azz am Mittwoch, 9. Juni 2004 um 16:18

jo am ende hats nen fehler :/

TFrog
TFrog am Dienstag, 2. November 2004 um 15:44

gleich mal ausprobieren! aber gut erklärt

L-rac
L-rac am Samstag, 9. April 2005 um 15:54

also... das script funzt einwandfrei... bis auf den kleinen fehler...

und zwar müsst ihr jeweils das ein anführungszeichen ( " so eins) vor und nach dem: .$name. ... entfernen und schon gehts...

mfg L-rac