Hallo,
hier ist mein Versuch eines Email Formulars, Dabei benutze ich PHPMailer zum versenden von Email. Mit Hilfe des kleinen Tutorials funktioniert es schon recht gut. Aus meiner Html übergebe ich die Variablen an meine php, die ich dann in die Variablen vom PHPMailer übergeben werden.
Nun möchte ich das Formular noch ein wenig benutzerfreundlicher machen und versuche Pflichtfelder einzubauen (Name und Absenderemail). Bei Nichteingabe (in php bedeuted das: empty string '' ), kommt eine Error message zurück. Das habe ich auch hinbekommen.
Bei Eingabe der Pfichtfelder sollte die Email versendet werden. Dazu muss ich die if Schleife [ if(!$mail->Send()) ] vom PHPMailer in meine CheckForm Function einbauen. Allerdings liegt hier mein Problem. Ich hoffe ihr versteht meinen Ansatz zu den Pflichtfeldern.
Hier mal die komplette Email Formular php:
<?
//include class
require('phpmailer/class.phpmailer.php');
//create instanz from PHPMailer
$mail = new PHPMailer();
//variables from email_form.html
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$myEmail = 'meineEmail@xyz.com';
//sender email
$mail->From = $email;
//sender name
$mail->FromName = $name;
//mail to address
$mail->AddAddress($myEmail);
//email subject
$mail->Subject = $subject;
//message text
$mail->Body = $message;
//send email and check if it was sent
if(!$mail->Send())
{
//$mail->Send() returns FALSE: Error
echo "The Email could not been sent";
echo "Error: " . $mail->ErrorInfo;
}
else
{
//$mail->Send() returns TRUE: Success
echo "The Email was sent.";
}
//testing for mandatory fields
$strErrorMessage = CheckForm( $name, $email );
if ($strErrorMessage > '')
{
echo $strErrorMessage; //this will retured when mandatory field are not filled in
}
else
{
echo "" Success; //this will returend when email has been sent successfully
}
function CheckForm( $name, $email )
{
if ( $name == '' )
{
$strErrorMessage = "Please enter your Name ... <br />";
}
if ( $email == '' )
{
$strErrorMessage = $strErrorMessage . "Please enter your Email ... <br />";
}
if ( $name == '' AND $email == '' )
{
$strErrorMessage = "You have to enter your Name and Email ... <br />";
}
if ($strErrorMessage == '')
{
//if the error message is empty which means the mandatory field are filled in my email sould be ready to go!
}
return $strErrorMessage;
}
?>
Alles anzeigen
Danke
Seb