Hallo!
Ich bin momentan am Seminararbeit schreiben für Datenbankbasierte Webserver und bin so weit auch schon fertig.
Hab momentan nur ein Problem: der File Upload funktioniert nicht :-/
Hier ist mal mein Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
error_reporting(E_STRICT);
ini_set("display_errors", 1);
require('auth.php');
require('sqlAdminConnect.php');
$result = mysql_query('select abk, name from dienstgrad;');
$options = "";
while ($row = mysql_fetch_array($result))
{
$options .= '<option value="' .$row['abk'] .'">' .$row['name'] .'</option>\n';
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$dienstgrad = $_POST['dienstgrad'];
$datei = 'default.jpg';
$fehler = false;
if (isset($_FILES['foto'])) {
$size=getimagesize($_FILES['foto']['tmp_name']);
if($size != 0) {
if($_FILES['foto']['size'] < $_POST['MAX_FILE_SIZE']) {
$foto = $vorname .$nachname .'.jpg';
$ack = move_uploaded_file($_FILES['foto']['tmp_name'], '../Mannschaft-Dateien/'.$datei);
if ($ack == false) {
echo 'Fehler bei Upload!';
$fehler = true;
}
} else {
echo 'File zu groß!';
$fehler = true;
}
} else {
echo 'Falsches Dateiformat!';
print_r($_FILES);
$fehler = true;
}
}
if (!$fehler) {
$query = 'insert into mitglied (vorname, nachname, dienstgrad, foto) VALUES (\'' .$vorname .'\', \''.$nachname .'\', \'' .$dienstgrad .'\', \'' .$datei .'\');';
$ack = mysql_query($query);
if ($ack == false) {
echo mysql_error();
}
}
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Mannschafts admin</title>
</head>
<body>
<h3>Mitglied erstellen</h3>
<form name="mitglied" method="post" action="adminbereich.php?seite=mannschaft" enctype="multipart/form-data">
<p>
Vorname:
<input type="text" name="vorname" />
</p>
<p>
Nachname:
<input type="text" name="nachname" />
</p>
<p>
Dienstgrad:
<?php
echo '<select name="dienstgrad">\n';
echo $options;
echo '</select>';
?>
</p>
<p>
Foto (.jpg maximal 100kb):
<input type="file" name="foto" />
</p>
<input type="hidden" name="MAX_FILE_SIZE" value="102400" />
<input type="submit" name="submit" value="Mitglied erstellen" />
</form>
</body>
</html>
Alles anzeigen
Läuft auf nem Windows Server 2008 in ner virtuellen Maschine.
Php ini ist konfiguriert (also File Uploads sind eingeschalten)
Das hidden field habe ich nur gemacht falls es daran liegt aber daran liegt es scheinbar nicht :-/
Folgende "Fehlermeldung" (also halt ergebnis des if) bekomme ich zurück:
Falsches Dateiformat!Array ( [foto] => Array ( [name] => Bildname.jpg [type] => [tmp_name] => [error] => 6 [size] => 0 ) )
Infos zur Homepage:
Geht um eine Feuerwehrhomepage bei der, es einen Adminbereich gibt, wo eben Mitglieder auch erstellt werden können. Alternativ kann auch ein Foto hochgeladen werden und das wird dann in den richtigen Ordner verschoben und anschließend wird das neu erstellte Mitglied in eine Datenbank geschrieben.
Ein Mitglied ohne Foto erstellen funktioniert.
Ich hoffe mir kann jemand bei meinem Problem helfen