Kann jemand am folgenden Code einen Fehler entdecken? Ich möchte eine Datei uploaden. Doch jedes Mal, wenn ich auf den Button klicke, kommt das Formular wieder - nur ohne "Datei".
Es hat schon mal funktioniert, und ich seh leider keinen Fehler...eventuell ja ihr?
Der $_FILES['bild']['tmp_name'] gibt folgendes - muss das so sein?
D:\Programmieren\xampp\xampp\tmp\php1A.tmp
Ich bin überfragt.
Danke schon mal im Voraus
Es hat schon mal funktioniert, und ich seh leider keinen Fehler...eventuell ja ihr?
Der $_FILES['bild']['tmp_name'] gibt folgendes - muss das so sein?
D:\Programmieren\xampp\xampp\tmp\php1A.tmp
Ich bin überfragt.
Danke schon mal im Voraus
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bild uploaden</title>
</head>
<body>
<?php
// Dateien einbinden für die Datenbankverarbeitung
include_once("../include/dbMysql.class.php5");
include_once("../include/db.class.php5");
include_once("../include/all.function.php5");
if($_POST['sent']==1)
{
var_dump($_FILES['bild']['tmp_name']);
// leere Eingaben überprüfen
if($_FILES['bild']['tmp_name']!="")
{
$fehler = "";
if($_POST['bildtitel'] == ""){$fehler.="Es fehlt der Bildtitel!<br />";}
if($_POST['bildname'] == ""){$fehler.="Es fehlt der Bildname!<br />";}
if($_POST['bildname'] != "")
{
$db_img_controll = new db();
$sql_img_controll = "SELECT COUNT(*) as anzahl FROM bkm_img WHERE bkm_imgtitle LIKE '".$_POST['bildname']."'";
$img = $db_img_controll->execute($sql_img_controll);
if($img[1]['anzahl'] > 0)
{
$fehler.="Der Bildname ist schon vergeben.<br />";
}
}
if($_FILES['bild']['size']>1048576){$fehler.="Die Datei ist größer als ein MegaByte!<br />";} // 1 MB
//nur Bilder erlauben
if(!($_FILES['bild']['type']=="image/jpeg" OR $_FILES['bild']['type']=="image/gif" OR $_FILES['bild']['type']=="image/png"))
{
$fehler.="Der Datei-Typ ist nicht zulässig (nur jpeg, gif, png)!<br />";
}
}
else
{
$fehler.="Es wurde keine Datei angegeben!<br />";
}
// bei leerer Eingabe keine Datenbankbearbeitung
if(isset($fehler))
{
unset($_POST['sent']);
echo "<p><font color=\"red\">".$fehler."</font></p>";
}
else
{
if($_POST['bildname']!="" AND $_FILES['bild']['tmp_name']!="")
{
if($_FILES['bild']['type']=="image/jpeg"){$bild_typ = "jpg";}
if($_FILES['bild']['type']=="image/gif"){$bild_typ = "gif";}
if($_FILES['bild']['type']=="image/png"){$bild_typ = "png";}
// Bild-Link vergeben
$bild = "../img/info/".$_POST['bildname'].".".$bild_typ;
copy($_FILES['bild']['tmp_name'], $bild);
}
$db_img = new db();
$sql_img = "INSERT INTO bkm_img (bkm_imgalttext, bkm_imgtitle, bkm_imgtype) VALUES
('".$_POST['bildtitel']."', '".$_POST['bildname']."', '".$bild_typ."')";
$db_img->execute($sql_img);
echo "<div align=\"center\">Das Bild wurde hochgeladen und kann jetzt eingebunden werden!
<br /><a href=\"javascript: window.close();\" title=\"Interner Link: Fenster schließen\">Fenster schließen</a></div>";
}
}
//Textformular
if(!$_POST['sent'])
{
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" enctype=\"multipart/form-data\">";
echo "<p><b>Datei</b><br /><input type=\"file\" name=\"bild\" /></p>";
echo "<p><b>Bildtitel</b><br />";
echo "<input type=\"text\" name=\"bildtitel\" value=\"".$_POST['bildtitel']."\" size=\"22\" /></p>";
echo "<p><b>Bildname</b><br />";
echo "<input type=\"text\" name=\"bildname\" value=\"".$_POST['bildname']."\" size=\"22\" maxlength=\"10\" /></p>";
echo "<input type=\"hidden\" name=\"sent\" value=\"1\" />";
echo "<p><input type=\"submit\" name=\"submit\" value=\"Ausführen\" />";
echo " <input type=\"button\" value=\"Fenster schließen\" onClick=\"window.close();\" /></form>";
}
?>
</body>
</html>