Hallo!
Bei einem Formular auf einer Seite sind die Pflichtfelder angegeben, die E-Mail wird aber trotzdem verschickt, auch wenn man die nicht angegeben hat.. ich poste mal die versend-Datei...
und hier die include config:
also ich hab ehrlich gesagt kein Plan warum die Pflichtfelder nicht überprüft werden.... angegeben ist ja immerhin alles... 
lg denise
Bei einem Formular auf einer Seite sind die Pflichtfelder angegeben, die E-Mail wird aber trotzdem verschickt, auch wenn man die nicht angegeben hat.. ich poste mal die versend-Datei...
PHP-Code:
<?
include('config.php');
global $emailfield;
global $required;
global $sentmessage;
global $toemail;
global $fields;
global $subject;
function checkEmail()
{
global $emailfield;
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $_POST[$emailfield]))
{
return "Invalid email address entered.";
}
else
{
return "";
}
}
function checkRequired()
{
global $required;
foreach ($required as $value)
{
if($_POST[$value]=="")
{
if(!$rtn)
{
$rtn=$value;
}
else
{
$rtn="$rtn, $value";
$s="s";
}
}
}
if($rtn) $rtn = "You must enter values for the following field$s: $rtn";
return $rtn;
}
if($emailfield)
{
$emailError = checkEmail();
}
if($required)
{
$requiredError = checkRequired();
}
if($emailError)
{
$sentmessage = $emailError;
}
if($requiredError)
{
$error = $requiredError;
if($error!="")
{
$sentmessage = $error;
}
}
if($emailError || $requiredError)
{
$sentmessage = $sentmessage."<br>Go <a href='javascript:history.back(1)'>back</a> to form.";
}
$msg = array($name, $email, $message);
$name = 'name';
$email = 'email';
$message = 'message';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$filename = "email.htm";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
foreach ($fields as $field)
{
$entry = $_POST[$field];
if (!$entry) $entry = "No data submitted";
$contents = str_replace ("::$field::",$entry,$contents);
}
mail($toemail, $subject, $contents, $headers);
$filename = "danke.php";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
$contents = str_replace ("::SentMessage::",$sentmessage,$contents);
echo $contents;
?>
PHP-Code:
<?
## fields contains all the variables from the form to be sent in the email - CaSe SeNsItIvE
$fields = array('message', 'firma', 'ansprechpartner', 'strasse', 'plzort', 'telefon', 'fax', 'email', 'broschure', 'rueckruf' );
## required contains all the variables that MUST be filled in - CaSe SeNsItIvE
$required = array('ansprechpartner','strasse','plzort','email', 'message');
## emailfield contains the name of the variable to be validated as an email address
$emailfield = "email";
## subject of the email to be sent
$subject = 'Formular';
## email address to send responses to
$toemail = '...';
## message displayed when email has been sucessfully sent
$sentmessage = "Danke für das Ihre Bestellung, wir werden uns umgehend bei Ihnen melden."
?>

lg denise
Kommentar