Hallo,
ich kann einfach die Lösung nicht finden! Mir scheint der Code korrekt, jedoch bleibt die Variable $userfile leer.
Hier das Formular:
<form name="form1" method="post" enctype="multipart/form-data" action="<? echo htmlspecialchars ($_SERVER['PHP_SELF']); ?>">
<table width="55%" cellspacing="0" border="1"> <!--cellspacing für Safari-->
<tr>
<td colspan='3' class="intern"><div style='margin-top:8px;margin-left:5px'> Artikel hochladen</div></td>
</tr>
<tr>
<td colspan='3' class='intern' height='30'><div id='hr_intern'></td>
</tr>
<tr>
<td class="intern"><div style="margin-left:12px;">wähle die Datei (Artikel), die du hochladen willst:</div>
<input type='hidden' name='MAX_FILE_SIZE' value='.ini_get('upload_max_filesize').'> <!-- 409600 = 800kB; 614400 = 1200kB -->
<input type='file' name='userfile' style='margin:5px 0 20px 12px; width:280px;'><!-- gewählte Datei bekommt diesen Namen -->
</td>
</tr>
<tr>
<td colspan='3' class="intern"><div style='margin-left:12px;'>Artikelbezeichnung:<br>
Gib einen aussagekräftigen
Namen an, unter welchem der Artikel auf dem Server abgelegt und auf dem Bildschirm angezeigt werden soll (tonform_....).<br></div>
<input type='text' name='artikelName' style='margin:5px 0 20px 12px;'></td>
</tr>
<tr>
<td colspan='3' class="intern"><div style='margin-left:12px;'>Preis:<br>
Gib den Preis dieses Artikels an (ohne Versandkosten).<br></div>
<input type="text" name="preis" style='margin:5px 0 20px 12px;' value='z.Bsp.: 420'></td>
</tr>
<tr>
<td class="intern"><input style="margin:5px 0 5px 12px;" name='submit' type='submit' value='abschicken'></td>
</tr>
<tr>
<td class="intern"><div style='margin:12px;'><a href='shop.php' style='font-size:11px;' class='back' title='zum Shop'>zum Shop</a></div></td>
</tr>
<tr>
<td class="intern"><div style='margin:12px;'>Wenn du keine Artikel mehr hochladen willst, kannst du dich hier <a href="logout.php" class="fwd">abmelden</a></div></td>
</tr>
</table>
</form>
Die PHP-Auswertung sieht folgendermassen aus:
@session_start();
if (isset($_POST['userfile'])) $userfile=$_POST['userfile'];
/************************************************************************************************/
if (($_SESSION['myusername'] == "") OR ($_SESSION['mypassword'] == "")) {
include ("login.php");
}
/************************************************************************************************/
include("db_vars.php");
mysql_connect("$dbserver", "$dbuser", "$dbpass")or die("Keine Verbindung zum Server möglich!");
mysql_select_db("$dbname")or die("Keine Datenbankverbindung möglich!");
$speicherdatum = date("d. M Y - H:i:s");
$unix_time = time();
$dir = "shop";
$subdir = "pics";
if(isset($_POST['submit']) && $_POST['submit']=="abschicken"){
if($userfile == "") {
/*echo "<head><META HTTP-EQUIV='refresh' content='1;URL={$_SERVER['PHP_SELF']}'><link href='../../Seiten/style.css' rel='stylesheet' type='text/css'></head>
<table class='error'>
<tr>
<td class='error'>du musst die Datei zum hochladen {$_POST['userfile']} auswählen!</td>
</tr>
</table>";exit;*/
echo "temporärer Dateiname: $userfile<br>";
echo "Pfad und Name der temporären Datei, wie sie im Filesystem des Servers zu finden ist: {$_FILES['thefile']['tmp_name']}<br>";
echo "Original-Dateiname: $userfile_name<br>";
echo "Grösse der Datei in Byte: $userfile_size<br>";
echo "MIME-Typ der Datei: $userfile_type<br><br>";
$_FILES['userfile']['error'];
copy ($userfile, $userfile_name);
}
if($artikelName == "")
{
echo "<head><META HTTP-EQUIV='refresh' content='100;URL={$_SERVER['PHP_SELF']}'><link href='../../Seiten/style.css' rel='stylesheet' type='text/css'></head>
<table class='error'>
<tr>
<td class='error'>du musst eine Artikelbezeichnung eingeben!</td>
</tr>
</table>";exit;
}
if($preis == "")
{
echo "<head><META HTTP-EQUIV='refresh' content='100;URL={$_SERVER['PHP_SELF']}'><link href='../../Seiten/style.css' rel='stylesheet' type='text/css'></head>
<table class='error'>
<tr>
<td class='error'>du musst einen Preis eingeben!</td>
</tr>
</table>";exit;
}
if($userfile != "")
{
$userfile_name = str_replace("ä","ae",$userfile_name);
$userfile_name = str_replace("ö","oe",$userfile_name);
$userfile_name = str_replace("ü","ue",$userfile_name);
if (file_exists("shop/pics/".$userfile_name)) {
echo ("<head><META HTTP-EQUIV='refresh' content='2;URL={$_SERVER['PHP_SELF']}'>
<link href='../../Seiten/style.css' rel='stylesheet' type='text/css'></head>
<table class='info'>
<tr>
<td class='info'>Der Artikel existiert schon !</td>
</tr>
</table>");exit;
}
else {
move_uploaded_file($userfile, "shop/pics/".$userfile_name);
}
}
if(mysql_query("INSERT INTO artikel (dateiName,artikelName,preis,dir,mime,speicherdatum,unix_time) VALUES ('$userfile_name', '$artikelName', '$preis', '$subdir', '$userfile_type', '$speicherdatum', '$unix_time')")) {
echo "<head><META HTTP-EQUIV='refresh' content='2;URL={$_SERVER['PHP_SELF']}'>
<link href='../../Seiten/style.css' rel='stylesheet' type='text/css'></head>
<table class='info'>
<tr>
<td class='info'>Der Artikel wurde erfolgreich hochgeladen !</td>
</tr>
</table>";
}
else {
echo "<head><META HTTP-EQUIV='refresh' content='2;URL={$_SERVER['PHP_SELF']}'>
<link href='../../Seiten/style.css' rel='stylesheet' type='text/css'></head>
<table class='error'>
<tr>
<td class='error'>Der Artikel konnte nicht hochgeladen werden !</td>
</tr>
</table>";
}
exit;
}
Sorry für den umfangreichen Code, aber ich denke, es braucht diese Angaben.
Kann mir jemand helfen?