29457
Goto Top

Leicht erweiterbares PHP-E-Mail Formular

hier wird ihnen gezeigt, wie sie ein leicht erweiterbares php-e-mail formular schreiben können

Die Datei, die aufgerufen wird, wenn die e-mail gesendet wurde.
mail_sended.php


<?php

//dies ist ein einfaches email script zum verwenden / ausbauen

$empfaenger = "adresse@provider.de"; //hier kommt die email adresse hin, an die die mail geschickt wird  

//bestimmen der eingabefelder
$field1 = $_POST["name"];  
$field2 = $_POST["email"];  
$field13 = $_POST["betreff"];  
$field14 = $_POST["nachricht"];  

//aussehen der email die an dich gesendet wird
$send = '  
        Die e-mail ist von '.$_POST["name"].'  

        Die e-mail adresse ist '.$_POST["email"].'  

        Der Betreff ist '.$_POST["betreff"].'  

        Das hier ist die Nachricht '.$_POST["nachricht"].'  
        ';  

//die sendefunktion
if  (mail($empfaenger, 'Neue E-Mail', $send, $from))  
    {
    echo "Deine E-Mail wurd erfolgreich abgesendet. Du erhälts bald eine Nachricht.";  
        }
        else
        {
       echo "Bitte schaue nochmal nach, ob du alle Felder ausgefüllt hast.";  
}

//das wars fürs erste
?>

hier ist nun der HTML-Code der mail.html (nur ein Beispiel)

<code type="html><html>
<head>
<title>E-Mail</title>
</head>

<body>
<form name="email" method="post" action="mail_sended.php">
<br>
<table width="100%" border="1">
<tr>
<td width="6%"> Name:<br> </td>

<td width="94%"><input name="name" type="text" id="name"></td>
</tr>
<tr>
<td width="6%">E-Mail:</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td width="6%">Betreff:</td>

<td><input name="betreff" type="text" id="betreff"></td>
</tr>
<tr>
<td width="6%" rowspan="2" valign="top">Nachricht:</td>
<td><textarea name="nachricht" cols="50" rows="8" id="nachricht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Senden">

<input type="reset" name="Submit2" value="Zurücksetzen"></td>
</tr>
</table>


</form>
</body>
</html>


Ich hoffe ich konnte helfen.

MfG
Razor

Content-Key: 69972

Url: https://administrator.de/contentid/69972

Printed on: April 24, 2024 at 13:04 o'clock

Member: yumper
yumper Oct 03, 2007 at 15:07:04 (UTC)
Goto Top
Leider enthält das script keinerlei Algorythmen zum überprüfen einer gültigen Emailadresse.
Bei einem Tippfehler ist noch lange nicht gesagt dass die Mail auch versandt wurde.

Wahrscheinlich kommt es zu einer unformatierten Anzeige des Mailsystems.
Mitglied: 29457
29457 Oct 04, 2007 at 06:42:54 (UTC)
Goto Top
nagut, dann ergänze ich nun

<?php
/* das vorherige...

/* überprüfung ob der verschicken button gedrückt wurde */ 

if(isset($_POST['submit'])) {   

$check_zero = true; 

} else { 

$check_zero = false; 

} 


/* überprüfung ob $absender_name ausgefüllt wurde */ 

if(!empty($_POST['absender_name'])) {   

$check_one = true; 

} else { 

$check_one = false; 

} 


/* überprüfung ob $absender_email ausgefüllt wurde und ob die Email richtig ist */ 

if(!empty($_POST['absender_email'])) {   

$check_two = true; 

} else { 

$check_two = false; 

} 

$absender_email = preg_replace("#[\;\#\n\r\*\'\"<>&\%\!\(\)\{\}\[\]\?\\/\s]#","",$_POST['absender_email']);   

if(!preg_match("/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/",$absender_email)<1) {   

$check_two_alpha = true; 

} else { 

$check_two_alpha = false; 

} 


/* überprüfung ob $absender_nachricht ausgefüllt wurde */ 

if(!empty($_POST['absender_nachricht'])) {   

$check_three = true; 

} else { 

$check_three = false; 

} 
/* das restliche....
?>
Member: Guenni
Guenni Oct 06, 2007 at 19:07:58 (UTC)
Goto Top
Auch die Ergänzung ist nicht ganz gelungen face-sad

Der Code ...

if(!empty($_POST['absender_name'])) {  
…
…
}

… überprüft lediglich, OB etwas gesendet wurde,
aber nicht WAS gesendet wurde.

Auch die Eingabe ein oder mehrerer Leerzeichen ist
eine Eingabe und somit ist das Eingabefeld ausgefüllt face-smile
man sieht nur nix!

Gruß