Moin Moin,
ich habe mir für eine "Art" Webshop ein php-Formular so umgebaut, dass es mir alle Angaben per eMail zuschickt.
Mein Problem: ich habe ein haufen Text-Felder die beim Versand evtl. leer sind oder mit einer 0 gefüllt.
Damit ich diese Felder bzw. die nicht mit der Mail bekommen müsste ich mein scipt so umbauen das es mir z.B. sagt: wenn das Feld (name="xy") leer ist oder eine 0 drinsteht - die Daten bitte nicht verschicken.
Und genau das bekomme ich einfach nicht hin - und BITTE BITTE BITTE euch um Hilfe:
Hier das Script:
<?php
$Empfaenger = "meineadresse@meinemserver.com";
if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Vorname']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Crew_Nr']) || empty($_REQUEST['Strasse']) || empty($_REQUEST['Ort']) || empty($_REQUEST['PLZ']))
{
echo "<center><font size=5><b>Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Felder aus!</b></font></center>";
}
else
{
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];
$Trenner = md5(uniqid(time()));
$Header = "From: ".$_REQUEST['Email'];
$Header .= "\n";
$Header .= "MIME-Version: 1.0";
$Header .= "\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "\n\n";
$Header .= "This is a multi-part message in MIME format";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/plain";
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "\n\n";
$Header .= "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send" && $Formularfeld!="Anhang")
{
$Header .= $Formularfeld.": ".$Wert."\n";
}
}
$Header .= "\nDatum/Zeit: ";
$Header .= date("d.m.Y H:i:s");
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "\n";
$Header .= "--$Trenner--";
mail($Empfaenger, $Mailbetreff, "", $Header);
echo "<center><font size=5><b>Die Daten wurden verschickt!</b><br>Bitte gehen Sie <a href="javascript:history.back();">hier zurück!</a><br> Danke!</font></center>";
}
}
else
{
?>
und das form:
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" name="anfrage" enctype="multipart/form-data" method="post">
dann folgen ein haufen text-felder - von denen ich aber nur die mit der Email verschicken möchte die auch ausgefüllt wurden.
Wie müsste ich den Code ändern?
VIELEN DANK IM VORAUS!!!
Gruss Sam!