Hey Leute ich habe folgendes Script um mehrer Dateien hochzuladen und Formulardaten in einer Datenbank zu speichern wenn ein Feld offen bleibt dann gibts eine Fehlermeldung wie gewünscht! Aber wenn alle nötigen Felder ausgefüllt wurden kommt immer dieser Fehler:
und hier der Code des Uploadscripts:
Code:
Notice: Undefined variable: err in C:\xampp\htdocs\testsite\upload.php on line 45
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\testsite\upload.php on line 45
und hier der Code des Uploadscripts:
PHP:
<?php
include "inc/config.php";
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$betreff = $_POST['betreff'];
$email = $_POST['email'];
$nachricht = $_POST['nachricht'];
$time = time();
if(!isset($vorname,$nachname,$betreff,$email,$nachricht))
{
$err[] = "Bitte das Formular benutzen!";
}
if(trim($vorname == ""))
{
$err[] = "Bitte einen Vornamen eingeben!";
}
if(trim($nachname == ""))
{
$err[] = "Bitte einen Nachname eingeben!";
}
if(trim($betreff == ""))
{
$err[] = "Bitte einen Betreff eingeben!";
}
if(trim($nachricht == ""))
{
$err[] = "Bitte eine Nachricht eingeben!";
}
if(!((trim($vorname == ""))||(trim($nachname == ""))||(trim($betreff == ""))||(trim($nachricht == ""))))
{
$sql = "INSERT INTO mails
(vorname,nachname,betreff,email,text,date)
VALUES
('$vorname','$nachname','$betreff','$email','$nachricht',$time)";
mysql_query($sql) OR die(mysql_error());
} else {
foreach($err as $error)
echo "$error<br>";
}
if(isset($_FILES['file']) && is_array($_FILES['file']))
{
foreach($_FILES['file']['error'] as $k=>$v)
{
if($v==0)
{
$tempname = $_FILES['file']['tmp_name'][$k];
$name = $_FILES['file']['name'][$k];
$size = $_FILES['file']['size'][$k];
if($size > "5242880")
{
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 5 MB!";
}
$end = strrchr($name, ".");
$filename = "file_".$time.$k . $end;
if(empty($err))
{
move_uploaded_file("$tempname", "img/$filename");
$sql = "INSERT INTO files
(name,size,date)
VALUES
('$filename','$size','$time')";
mysql_query($sql) OR die(mysql_error());
echo "<br>Die Datei <b>$filename</b> wurde erfolgreich hochgeladen!<br>";
echo "Die Datei kann <a href=\"img/$filename\">Hier</a> angeschaut werden<br>";
}
}
}
echo "Mails <a href=\"mails.php\">Hier</a> checken<br>";
} else {
echo "Fehler beim Übertragen";
}
?>