Fehler bei for each bei Formular Überprüfung

sugar

Erfahrenes Mitglied
Ich habe ein eigenartiges Problem in meiner Abfrage und zwar habe ich eine Formular mit Feldern und zwei file Upload Feldern. Wenn ich jetzt eine Überprüfung der Felder mache, zeigt er mir bei dem File Upload Feld Size immer die falsche Fehlermeldung an, nämlich die für "Arbeitszeit". Lösche ich das Feld nimmt er die Fehlermeldung welche davor kommt. (Hat also wohl nichts direkt mit dem Feld "arbeitszeit" zu tun.) Woran kann es liegen?

PHP:
if ($arbeitszeits == "") {
	$hack = true;
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Arbeitszeit</p>";
}


$allowedExtensions = array("doc","pdf","zip","docx");
 
foreach ($_FILES as $file) { 
  
  $tmp_name = $file['tmp_name'];
  
    if ($file['tmp_name'] > '') { 
      if (!in_array(end(explode(".", 
            strtolower($file['name']))), 
            $allowedExtensions)) { 
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Bitte schicken Sie uns nur <strong>Word</strong>- oder <strong>PDF</strong>-Dokumente und fassen Sie ggf. mehrere Dokumente in einer <strong>ZIP</strong> Datei zusammen.</p>";
      } 
	if ($file['size'] > '10485760') { 
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Bitte maximal 10MB versenden</p>";
 	 } 
    } 
  }
 
Ne ich sag ja lösch ich $arbeitszeit dann gibt er die Fehlermeldung davor aus.

<td>Arbeitszeit *</td>
<td>Vollzeit
<input type="radio" name="arbeitszeit" value="Vollzeit" />
Teilzeit
<input type="radio" name="arbeitszeit" value="Teilzeit" />
Geringf&uuml;gige Besch&auml;ftigung
<input type="radio" name="arbeitszeit" value="Geringf&uuml;gige Besch&auml;ftigung" />
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2" bgcolor="#f58400"><strong>Bewerbungsunterlagen</strong></td>
</tr>
<tr>
<td colspan="2">Bitte f&uuml;gen Sie Ihre Bewerbungsunterlagen (Anschreiben, Lebenslauf, ggf. Zeugnisse und Zertifikate) bei. <br /> Beachten Sie, dass diese eine Dateigr&ouml;&szlig;e von insgesamt&nbsp;10 MB nicht &uuml;berschreiten sollten.<br />
Bitte schicken Sie uns nur <strong>Word</strong>- oder <strong>PDF</strong>-Dokumente und fassen Sie ggf. mehrere Dokumente in einer <strong>ZIP</strong> Datei zusammen.</td>
</tr>
<tr>
<td>Datei Upload *</td>
<td><input type="file" name="file1"><br /><input type="file" name="file2"></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
 
Ich kriege es leider noch immer nicht hin. Hier mein komplettes Script:

PHP:
<?php

$hack = false; 

foreach($_POST as $value) {
 $value = strtolower($value);
 if((strpos($value,'content-type:') !== FALSE) || (strpos($value,'bcc:') !== FALSE) || (strpos($value,'cc:') !== FALSE)) {
  //kill the script
  die('Please don\'t do that.');
 }
}
//Auslesen der Dateien
//$loc = $_POST['ort2'];
$loc = "Stuttgart";
$titel = $_POST['titel2'];

$anrede = $_POST["anrede"];
$tit = $_POST["tit"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$mail = $_POST["mail"];
$strasse = $_POST["strasse"];
$nummer = $_POST["nummer"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];

$geb_0 = $_POST["geburtsdatum_0"];
$geb_1 = $_POST["geburtsdatum_1"];
$geb_2 = $_POST["geburtsdatum_2"];

$eintritt_0 = $_POST["eintrittsdatum_0"];
$eintritt_1 = $_POST["eintrittsdatum_1"];
$eintritt_2 = $_POST["eintrittsdatum_2"];

$tel = $_POST["telefon"];
$bem = $_POST["bemerkungen"];

$kopie = $_POST["kopie"];
$arbeitszeits = $_POST["arbeitszeit"];


//Prüfen, ob der String leer ist
if ($vorname == "") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Vorname</p>";
}
if ($anrede == "0") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Anrede</p>";
}
if ($nachname == "") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Nachname</p>";
}
if ($strasse == "") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Strasse</p>";
}
if ($strasse == "") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Hausnummer</p>";
}
if ($ort == "") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Ort</p>";
}
if (!ereg("^[0-9]{5}$",$plz)){ 
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: PLZ</p>";
}
if ($tel == "") {
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Telefon</p>";
}
 
if ($mail == "") {
	$hack = true;
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: E-mail Adresse</p>";
}
if ($arbeitszeits == "") {
	$hack = true;
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Arbeitszeit</p>";
}

if ($eintritt_0 == "0") {
	$hack = true;
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Frühster Eintrittstermin Tag</p>";
}

if ($eintritt_1 == "0") {
	$hack = true;
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Frühster Eintrittstermin Monat</p>";
}

if ($eintritt_2 == "0") {
	$hack = true;
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Folgendes Feld ist nicht vollständig ausgefüllt: Frühster Eintrittstermin Jahr</p>";
}

$allowedExtensions = array("doc","pdf","zip","docx");
 
foreach ($_FILES as $file) { 
  
  $tmp_name = $file['tmp_name'];
  
    if ($file['tmp_name'] > '') { 
      if (!in_array(end(explode(".", 
            strtolower($file['name']))), 
            $allowedExtensions)) { 
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Bitte schicken Sie uns nur <strong>Word</strong>- oder <strong>PDF</strong>-Dokumente und fassen Sie ggf. mehrere Dokumente in einer <strong>ZIP</strong> Datei zusammen.<br>Bitte maximal 10MB versenden</p>";
      } 
	if ($file['size'] > '10485760') { 
	$hack = true; 
	$feld = "<p><font color=\"#f58400\"><strong>Bitte überprüfen Sie Ihre Eingabe!</strong></font></p><p>Bitte maximal 10MB versenden</p>";
 	 } 
    } 
  } 
  

//Bei inkorrekten Eingaben eine Fehlermeldung ausgeben:
if ($hack) { ?>

<?php echo $feld; ?><br />
<a href="javascript:history.back()"><font color="#FFFFFF">zur&uuml;ck</font></a></div>
</div>

<?php
	exit(); //Vorgang beenden!
}


else
{


   $subject = "Bewerbung zu: $titel";
   
   $to="info@empfaenger.de";
   
   
   $from = stripslashes($_POST['mail'])."<".stripslashes($_POST['mail']).">";

   $head = "From: $to\r\nContent-Type:text/html\r\nContent-Transfer-Encoding: 8bit\r\n" ."";

   $nachricht = "<p><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#3366ff\"><b>Bewerbung zu: </b></font><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#000000\"><b>$titel</b></font></p>
   <table cellspacing=\"0\" cellpadding=\"5\">
      <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Location:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$loc</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Name:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$anrede $tit $vorname $nachname</font></td></tr>
  <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Wohnhaft:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$strasse $nummer</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Ort:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$plz $ort</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Telefon:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$tel</font></td></tr>
  <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>E-Mail:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$mail</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Geboren:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$geb_0.$geb_1.$geb_2</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Frühester Eintritt:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$eintritt_0.$eintritt_1.$eintritt_2</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Arbeitszeit:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$arbeitszeit</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Bemerkungen:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$bem</font></td></tr></table>\n";

$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
   
   $headers = "From: $from\r\n" .
   "MIME-Version: 1.0\r\n" .
      "Content-Type: multipart/mixed;\r\n" .
      " boundary=\"{$mime_boundary}\"";

   $message = "<p><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#3366ff\"><b>Bewerbung zu: </b></font><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#000000\"><b>$titel</b></font></p>
   <table cellspacing=\"0\" cellpadding=\"5\">
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Location:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$loc</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Name:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$anrede $tit $vorname $nachname</font></td></tr>
  <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Wohnhaft:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$strasse $nummer</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Ort:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$plz $ort</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Telefon:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$tel</font></td></tr>
  <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>E-Mail:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$mail</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Geboren:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$geb_0.$geb_1.$geb_2</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Frühester Eintritt:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$eintritt_0.$eintritt_1.$eintritt_2</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Arbeitszeit:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$arbeitszeit</font></td></tr>
   <tr><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#3366ff\"><b>Bemerkungen:</b></font></td><td><font face=\"Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">$bem</font></td></tr></table>\n";
    
   $message = "This is a multi-part message in MIME format.\n\n" .
      "--{$mime_boundary}\n" .
      "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
      "Content-Transfer-Encoding: 7bit\n\n" .
   $message . "\n\n";
   
   foreach($_FILES as $userfile){

      $tmp_name = $userfile['tmp_name'];
      $type = $userfile['type'];
      $name = $userfile['name'];
      $size = $userfile['size'];
	  $fileatt_name = $name;  

      if (file_exists($tmp_name)){

         if(is_uploaded_file($tmp_name)){
 	
            $file = fopen($tmp_name,'rb');
 	
            $data = fread($file,filesize($tmp_name));

            fclose($file);
 	
            $data = chunk_split(base64_encode($data));
         }
 	
         $message .= "--{$mime_boundary}\n" .
            "Content-Type: {$type};\n" .
            " name=\"{$name}\"\n" .
            "Content-Disposition: attachment;\n" .
            " filename=\"{$fileatt_name}\"\n" .
            "Content-Transfer-Encoding: base64\n\n" .
         $data . "\n\n";
      }
   }
   $message.="--{$mime_boundary}--\n";

	if ($loc == "Stuttgart")  {
	mail($to, $subject, $message, $headers);
	}
	
	if ($kopie == "ja")  {
	mail($mail, $subject, $nachricht, $head);
	}
}


?>
<?php echo '


<p><font color="#f58400"><strong>Vielen Dank für Ihre Bewerbung.</strong></font></p>
<p>Wir werden uns so schnell wie m&ouml;glich mit Ihnen in Verbindung setzen.</p>   

</div>

' ?>

Irgendwo muss ein Fehler sein weil es mit der Überprüfung auf Größe des Uploads einfach nicht klappen will!
 
Zurück