hannes: Dateiupload

Beitrag lesen

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'>&nbsp;&nbsp;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&auml;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&auml;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&auml;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?

0 78

Dateiupload

hannes
  • php
  1. 0
    dedlfix
    1. 0
      hannes
      1. 0
        Shadowcrow
      2. 0
        dedlfix
      3. 0
        Vinzenz Mai
  2. 0
    Der Martin
    1. 0
      hannes
      1. 0
        dedlfix
        1. 0
          hannes
          1. 0
            Shadowcrow
            1. 0
              hannes
              1. 0
                dedlfix
                1. 0
                  hannes
                  1. 0
                    dedlfix
                    1. 0
                      Shadowcrow
                    2. 0
                      Tom
                      1. 0
                        dedlfix
                        1. 0
                          hannes
                          1. 0
                            dedlfix
                            1. 0
                              hannes
                              1. 0
                                dedlfix
                                1. 0
                                  hannes
                                  1. 0
                                    dedlfix
                          2. 0
                            Der Martin
                            1. 0
                              hannes
                              1. 0
                                Shadowcrow
                                1. 0
                                  Shadowcrow
                                  1. 0
                                    hannes
                                    1. 0
                                      Tom
                              2. 0
                                Tom
                              3. 0
                                Der Martin
                                1. 0
                                  Shadowcrow
                                  1. 0
                                    Der Martin
                                    1. 0
                                      Shadowcrow
                                      1. 0
                                        hannes
                                        1. 0
                                          Tom
                                          1. 0
                                            hannes
                                          2. 0
                                            hannes
                                            1. 0
                                              Tom
                                              1. 0
                                                Tom
                                              2. 0
                                                hannes
                                                1. 0
                                                  Tom
                                                  1. 0
                                                    hannes
                                                    1. 0

                                                      Dateiupload und Typüberprüfung

                                                      Shadowcrow
                                                      1. 0
                                                        Tom
                              4. 2
                                ChrisB
                        2. 0
                          Tom
                          1. 0
                            dedlfix
                            1. 0
                              Tom
                              1. 0
                                dedlfix
                                1. 0
                                  Tom
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Tom
                          2. 0
                            Der Martin
                            1. 0
                              Tom
                              1. 0
                                Der Martin
                                1. 0
                                  Tom
                            2. 0

                              Dateiupload, was tut move_uploaded_file() wirklich?

                              Tom
                              1. 0
                                dedlfix
                                1. 0
                                  Tom
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Tom
                                      1. 0
                                        dedlfix
                                        1. 1

                                          Bin hetzt heftig beleidigt [... :-) ...]

                                          Tom
                                          • menschelei
                                          1. 0

                                            du doch nicht

                                            dedlfix
                              2. 0

                                Komme da nicht weiter...

                                Tom
                                1. 0
                                  Der Martin
                                  1. 0
                                    Tom
                  2. 0
                    Tom
          2. 0
            dedlfix
            1. 0
              Tom
  3. 0
    Felix Riesterer
    1. 2
      dedlfix
      1. 0
        Felix Riesterer
  4. 0
    Tom
    1. 0
      hannes
    2. 0
      hannes