Bildupload mit DB eintrag?

Stephan Liebig

Erfahrenes Mitglied
Ich möchte folgendes machen:

Über das Textfeld "Durchsuchen..." soll man ein Bild auswählen können. Nach dem klick auf Speichern, soll es in einen bestimmten Ordner hochgeladen werden. Sagen wir mal in "fotos". Anschließend soll nur der Dateiname in der DB gespeichert werden.

Wie kann man das am sinnvollsten realisieren?
 
In dem du einfach nur $_FILES['namevominputfeld']['name'] in die Datenbank einträgst...

PHP:
move_uploaded_files($_FILES['namevominputfeld']['tmp_name'], "fotos".$_FILES['namevominputfeld']['name']);

mysql_query("INSERT INTO table (pfad) VALUES ("'.$_FILES['namevominputfeld']['name'].'");

Gruß,
Manuel
 
Wollte es so machen, aber irgendwie will das wohl nicht :(

PHP:
<?php

if(isset($_GET[sub]))
{
	// Speichern
	 
	$c_index=0;

	$i = '1';

	if($userfile_name[$i] !== "") { $userfile_clean[$c_index] = $userfile[$i] ; $userfile_clean_name[$c_index] = $userfile_name[$i]; $userfile_clean_type[$i] = $userfile_type[$i]; $c_index++; }

	$numfiles = count($userfile_clean);

	for ($i=1;$i<$numfiles;$i++)
	{
		if($userfile_clean_type[$i] == "image/jpeg" || $userfile_clean_type[$i] == "image/pjpeg" || $userfile_clean_type[$i] == "image/png") {
		copy($userfile_clean[$i],"./fotos/".$userfile_clean_name[$i]); }
		
		if(mysql_query("INSERT INTO girls (name, nachname, geb, icq, handynummer, wohnort, eingestellt, eingestellt_von, status, interessent, foto, augenfarbe, groesse) 
				VALUES ('$_POST[name]', '$_POST[nachname]', '$_POST[geb]', '$_POST[icq]', '$_POST[handynummer]', '$_POST[wohnort]', '$_POST[eingestellt]', '$_POST[eingestellt_von]', '$_POST[status]', '$_POST[interessent]', '".$userfile_clean_name[$i]."', '$_POST[augenfarbe]', '$_POST[groesse]')")) {
						echo "<br>".$_POST[name]." wurde erfolgreich in die Datenbank &uuml;bernommen.";
						echo '<br /><a href="admin.php?action=16">zur&uuml;ck</a>';
				} 
				else {
						echo "<br>".error($_POST[name]." konnte nicht in die Datenbank aufgenommen werden!");
						echo '<br /><a href="admin.php?action=16">zur&uuml;ck</a>';
				}
	}
	
	
}
else {

$result = mysql_query('SELECT id FROM user WHERE (username ="'.$_SESSION["username"].'")', $conn) or die(mysql_error());
$data = mysql_fetch_assoc($result);

echo '<form action="admin.php?action=16&sub=1" method="post">';
    echo '<table width="506" height="190" border="0" cellpadding="0" cellspacing="0">';
  echo '<tr>';
    echo '<td width="138" class="newslist">Name: </td>';
    echo '<td width="368" class="newslist"><input name="name" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td width="138" class="newslist">Nachname: </td>';
    echo '<td width="368" class="newslist"><input name="nachname" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td width="138" class="newslist">Haarfarbe: </td>';
    echo '<td width="368" class="newslist"><input name="haarfarbe" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Augenfarbe: </td>';
    echo '<td class="newslist"><input name="augenfarbe" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Gr&ouml;&szlig;e: </td>';
    echo '<td class="newslist"><input name="groesse" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Geb Datum: </td>';
    echo '<td class="newslist"><input name="geb" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Wohnort: </td>';
    echo '<td class="newslist"><input name="wohnort" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">ICQ: </td>';
    echo '<td class="newslist"><input name="icq" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Handy: </td>';
    echo '<td class="newslist"><input name="handynummer" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Eingestellt am: </td>';
    echo '<td class="newslist"><input name="eingestellt" type="text" value="'.date("Y-m-d").'" readonly="true"/></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Eingestellt von: </td>';
    echo '<td class="newslist"><input name="eingestellt_von" type="text" value="'.$data[id].'" readonly="true" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist"><br />Status: <br />&nbsp;</td>';
    echo '<td class="newslist">
	<select name="status" size="1">
	<option>single</option>
	<option>vergeben</option>
	</select></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Foto: </td>';
    echo '<td class="newslist"><input name="userfile[]" type="File" size="30"></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist"><input name="submit" type="submit" value="Speichern"></td>';
    echo '<td class="newslist"><input name="reset" type="reset" value="L&ouml;schen"></td>';
  echo '</tr>';
echo '</table>';
echo '</form>';
}
?>
 
PHP:
<?php

if(isset($_GET[sub]))
{
	// Speichern
	 
	move_uploaded_file($_FILES['foto']['tmp_name'], "fotos".$_FILES['foto']['name']);
		
		if(mysql_query("INSERT INTO girls (name, nachname, geb, icq, handynummer, wohnort, eingestellt, eingestellt_von, status, interessent, foto, augenfarbe, groesse) 
				VALUES ('$_POST[name]', '$_POST[nachname]', '$_POST[geb]', '$_POST[icq]', '$_POST[handynummer]', '$_POST[wohnort]', '$_POST[eingestellt]', '$_POST[eingestellt_von]', '$_POST[status]', '$_POST[interessent]', '".$_FILES['foto']['name']."', '$_POST[augenfarbe]', '$_POST[groesse]')")) {
						echo "<br>".$_POST[name]." wurde erfolgreich in die Datenbank &uuml;bernommen.";
						echo '<br /><a href="admin.php?action=16">zur&uuml;ck</a>';
				} 
				else {
						echo "<br>".error($_POST[name]." konnte nicht in die Datenbank aufgenommen werden!");
						echo '<br /><a href="admin.php?action=16">zur&uuml;ck</a>';
				}	
	
}
else {

$result = mysql_query('SELECT id FROM user WHERE (username ="'.$_SESSION["username"].'")', $conn) or die(mysql_error());
$data = mysql_fetch_assoc($result);

echo '<form action="admin.php?action=16&sub=1" method="post">';
    echo '<table width="506" height="190" border="0" cellpadding="0" cellspacing="0">';
  echo '<tr>';
    echo '<td width="138" class="newslist">Name: </td>';
    echo '<td width="368" class="newslist"><input name="name" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td width="138" class="newslist">Nachname: </td>';
    echo '<td width="368" class="newslist"><input name="nachname" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td width="138" class="newslist">Haarfarbe: </td>';
    echo '<td width="368" class="newslist"><input name="haarfarbe" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Augenfarbe: </td>';
    echo '<td class="newslist"><input name="augenfarbe" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Gr&ouml;&szlig;e: </td>';
    echo '<td class="newslist"><input name="groesse" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Geb Datum: </td>';
    echo '<td class="newslist"><input name="geb" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Wohnort: </td>';
    echo '<td class="newslist"><input name="wohnort" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">ICQ: </td>';
    echo '<td class="newslist"><input name="icq" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Handy: </td>';
    echo '<td class="newslist"><input name="handynummer" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Eingestellt am: </td>';
    echo '<td class="newslist"><input name="eingestellt" type="text" value="'.date("Y-m-d").'" readonly="true"/></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Eingestellt von: </td>';
    echo '<td class="newslist"><input name="eingestellt_von" type="text" value="'.$data[id].'" readonly="true" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist"><br />Status: <br />&nbsp;</td>';
    echo '<td class="newslist">
	<select name="status" size="1">
	<option>single</option>
	<option>vergeben</option>
	</select></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Foto: </td>';
    echo '<td class="newslist"><input name="foto" type="File" size="30"></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist"><input name="submit" type="submit" value="Speichern"></td>';
    echo '<td class="newslist"><input name="reset" type="reset" value="L&ouml;schen"></td>';
  echo '</tr>';
echo '</table>';
echo '</form>';
}
?>

hochladen tut das aber nichts ?
 
Hi,

da fehlt doch auch ein Slash, oder nicht?

PHP:
move_uploaded_file($_FILES['foto']['tmp_name'], "fotos/".$_FILES['foto']['name']);

Wenn's dann noch nicht geht, musst mal error_reporting auf E_ALL stellen.

LG
 
Okay ich habe es mal geändert, aber da tut sich trotzdem nichts.
Der lädt mir weder ein Bild hoch noch schreibt er den Namen des Bildes in die Datenbank. :(
 
Versuch mal: (ungestestet)
PHP:
<?php

if(isset($_GET['sub']))
{
  // Speichern
  move_uploaded_file($_FILES['foto']['tmp_name'], "fotos/".$_FILES['foto']['name']);
        
  if(mysql_query("INSERT INTO girls (name, nachname, geb, icq, handynummer, wohnort, eingestellt, eingestellt_von, status, interessent, foto, augenfarbe, groesse) VALUES ('".$_POST['name']."', '".$_POST['nachname']."', '".$_POST['geb']."', '".$_POST['icq']."', '".$_POST['handynummer']."', '".$_POST['wohnort']."', '".$_POST['eingestellt']."', '".$_POST['eingestellt_von']."', '".$_POST['status']."', '".$_POST['interessent']."', '".$_FILES['foto']['name']."', '".$_POST['augenfarbe']."', '".$_POST['groesse']."')"))
  {
    echo "<br>".$_POST['name']." wurde erfolgreich in die Datenbank &uuml;bernommen.";
    echo '<br /><a href="admin.php?action=16">zur&uuml;ck</a>';
  } else
    {
      echo "<br>".error($_POST['name']." konnte nicht in die Datenbank aufgenommen werden!");
      echo '<br /><a href="admin.php?action=16">zur&uuml;ck</a>';
    }      
} else
{

$result = mysql_query('SELECT id FROM user WHERE (username ="'.$_SESSION['username'].'")', $conn) or die(mysql_error());
$data = mysql_fetch_assoc($result);

echo '<form action="admin.php?action=16&sub=1" method="post">';
    echo '<table width="506" height="190" border="0" cellpadding="0" cellspacing="0">';
  echo '<tr>';
    echo '<td width="138" class="newslist">Name: </td>';
    echo '<td width="368" class="newslist"><input name="name" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td width="138" class="newslist">Nachname: </td>';
    echo '<td width="368" class="newslist"><input name="nachname" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td width="138" class="newslist">Haarfarbe: </td>';
    echo '<td width="368" class="newslist"><input name="haarfarbe" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Augenfarbe: </td>';
    echo '<td class="newslist"><input name="augenfarbe" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Gr&ouml;&szlig;e: </td>';
    echo '<td class="newslist"><input name="groesse" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Geb Datum: </td>';
    echo '<td class="newslist"><input name="geb" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Wohnort: </td>';
    echo '<td class="newslist"><input name="wohnort" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">ICQ: </td>';
    echo '<td class="newslist"><input name="icq" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Handy: </td>';
    echo '<td class="newslist"><input name="handynummer" type="text" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Eingestellt am: </td>';
    echo '<td class="newslist"><input name="eingestellt" type="text" value="'.date("Y-m-d").'" readonly="true"/></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Eingestellt von: </td>';
    echo '<td class="newslist"><input name="eingestellt_von" type="text" value="'.$data[id].'" readonly="true" /></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist"><br />Status: <br />&nbsp;</td>';
    echo '<td class="newslist">
    <select name="status" size="1">
    <option>single</option>
    <option>vergeben</option>
    </select></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist">Foto: </td>';
    echo '<td class="newslist"><input name="foto" type="File" size="30"></td>';
  echo '</tr>';
  echo '<tr>';
    echo '<td class="newslist"><input name="submit" type="submit" value="Speichern"></td>';
    echo '<td class="newslist"><input name="reset" type="reset" value="L&ouml;schen"></td>';
  echo '</tr>';
echo '</table>';
echo '</form>';
}
?>
 
Zurück