Bilder Upload

thommy1972

Mitglied
Habe ein Problem:
Folgendes Upload Script lädt mir nur das 1. Bild in den Ordner Uploads.
Alle weiteren nicht mehr.
Woran könnte das liegen ?

Code:
<html>
<head>
<title>Objekt hinzufügen</title>
</head>
<body>
<?php
include ("header.php"); 

?>
<form action="addobjekt.php" method="post">

<table width="750" bgcolor="#C0CCCC" align="center" border="1"><tr><td>
<table align="left" bgcolor="#C0CCCC">

<!--Spalte links -->

<tr><td align="right">Titel:</td><td width="200px" align="left"><input type="text" size="20" 

name="titel"></td></tr>

<tr><td width="100px" align="right">Untertitel:</td><td width="200px" align="left"><input type="text" size="20" 

name="untertitel"></td></tr>

<tr><td width="100px" align="right">Kategorie:</td><td width="200px" align="left">
    <select name="kategorie" size="1">
      <option>Wohnung</option>
      <option>Haus</option>
      <option>Garage</option>
      <option>Tiefgarage</option>
      <option>Stellplatz</option>
    </select>
</td></tr>

<tr><td width="100px" align="right">Makler:</td><td width="200px" align="left"><input type="text" size="20" 

name="makler"></td></tr>

<tr><td width="100px" align="right">Ort:</td><td width="200px" align="left"><input type="text" size="20" 

name="ort"></td></tr>

<tr><td width="100px" align="right">Bezirk:</td><td width="200px" align="left"><input type="text" size="20" 

name="bezirk"></td></tr>
<tr><td width="100px" align="right">Ref.-Nummer:</td><td width="200px" align="left"><input type="text" size="20" 

name="refnr"></td></tr>
<tr><td width="100px" align="right">Typ:</td><td width="200px" align="left">
    <select name="typ" size="1">
      <option>Mietobjekt</option>
      <option>Kaufobjekt</option>
    </select>
</td></tr>
<tr><td width="100px" align="right"><strong>Kaltmiete:</strong></td><td width="200px" align="left"><input 

type="text" size="20" name="kaltmiete"></td></tr>
<tr><td width="100px" align="right"><strong>Nebenkosten:</strong></td><td width="200px" align="left"><input 

type="text" size="20" name="nebenkosten"></td></tr>
<tr><td width="100px" align="right"><strong>Warmmiete:</strong></td><td width="200px" align="left"><input 

type="text" size="20" name="warmmiete"></td></tr>
<tr><td width="100px" align="right">Beschreibung:</td><td width="200px" align="left">
<textarea name="beschreibung" cols="25" rows="10"></textarea>
</td></tr>
<tr><td width="100px" align="right">Lage:</td><td width="200px" align="left">
<textarea name="lage" cols="25" rows="5"></textarea>
</td></tr>
</table>


<!--Spalte rechts -->

<table align="right" bgcolor="#C0CCCC">
<tr><td align="right">Wohnfläche:</td><td width="200px" align="left"><input type="text" size="20" 

name="wohngesamt"></td></tr>

<tr><td width="100px" align="right">Grundstück:</td><td width="200px" align="left"><input type="text" size="20" 

name="grundstueck"></td></tr>

<tr><td width="100px" align="right">Zimmer:</td><td width="200px" align="left"><input type="text" size="20" 

name="zimmer"></td></tr>

<tr><td width="100px" align="right">Badewanne:</td><td width="200px" align="left">
    <select name="badewanne" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Küche:</td><td width="200px" align="left">
    <select name="kueche" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Bad:</td><td width="200px" align="left">
    <select name="bad" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>

<tr><td width="100px" align="right">Gäste-WC:</td><td width="200px" align="left">
    <select name="gastwc" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Balkon:</td><td width="200px" align="left">
    <select name="balkon" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Keller:</td><td width="200px" align="left">
    <select name="keller" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Garage:</td><td width="200px" align="left">
    <select name="garage" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Stellplatz:</td><td width="200px" align="left">
    <select name="stellplatz" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Tiefgarage:</td><td width="200px" align="left">
    <select name="tiefgarage" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Terrasse:</td><td width="200px" align="left">
    <select name="terrasse" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr><tr><td width="100px" align="right">Dachterrasse:</td><td width="200px" align="left">
    <select name="dachterrasse" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Einbauküche:</td><td width="200px" align="left">
    <select name="einbaukueche" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Heizungsart:</td><td width="200px" align="left">
    <select name="heizung" size="1">
      <option>-</option>
      <option>Fernwärme</option>
      <option>Zentralheizung</option>
      <option>Elektro</option>
      <option>Nachtspeicher</option>
    </select>
</td></tr>
bild: <input name="bild1" type="file">
<td></td><td>
<input type="submit" value="Daten absenden"/>
<?

$userfilename = "bild1"; // name das datei-input-felds in der form
$zielverzeichnis = "uploads"; // hierhin wirds gespeichert

if(isset($_FILES[$userfilename])){
    switch($_FILES[$userfilename]['error']){
        case 0: break; // kein fehler
        case 1: die("Datei ist zu groß.");
        case 2: die("Datei ist zu groß.");
        case 3: die("Datei wurde nicht vollständig hochgeladen.");
        case 4: die("Es wurde keine Datei hochgeladen.");
    }
    
    // ist´s ein bild?
    if(substr($_FILES[$userfilename]['type'], 0, 5) != 'image')
        die("Datei ist kein Bild!");
    
    // umbennenen, falls datei existiert
    $i = 1;
    $newname = $_FILES[$userfilename]['name'];
    while(is_file("$zielverzeichnis/$newname")){
        $ext = strrchr($_FILES[$userfilename]['name'], '.');
        $newname = substr($_FILES[$userfilename]['name'], 0, -(strlen($ext)+1)) . "_$i.$ext";
        $i++;
    }
    
    // verschieben
    echo move_uploaded_file($_FILES[$userfilename]['tmp_name'], "$zielverzeichnis/$newname") ? "Datei wurde 

erfolgreich hochgeladen." : "Speichern der Datei schlug fehl.";
}
else{

}
?>

</tr>



</table>
</table>
<br>

<br>
</form>
</body>
</html>
 
Weil du das fest su programmiert hast.
PHP:
$userfilename = "bild1"; // name das datei-input-felds in der form
$zielverzeichnis = "uploads"; // hierhin wirds gespeichert
 
if(isset($_FILES[$userfilename])){

du solltest $_FILES mit einer Schleife durchgehen, nicht mit dem fixen Namen.
 
item: Für Gastaccounts - erwarte nicht dass ich dir viel Code schreibe, denn ich rechne nicht damit dass du später hier anderen Usern helfen wirst

Könntest du mir vielleicht trotzdem kurz erläutern was du damit genau meinst ?
Arbeite mich erst in die Materie ein. Meinst du eine WHILE Schleife ?
 
Ok der Dateiupload läuft jetzt. Jetzt kommt auch gleich das nächste hüpfende komma...
Ich brauche ja um die Bilder auf irgendeiner Seite anzeigen zu können einen Link.
Dieser (so theoresierte ich) speichere ich am besten in die nahegelegende Datenbank um die Ecke.
Ergo: Neue Spalte "bild1" in DB erstellt und der SQL Anweisung klargemacht daß sie aus der Form die Daten aus bild1 in das feld bild1 schreiben solle..
Code:

Code:
$eintrag = "INSERT INTO `kunden` (
`titel` , 
`untertitel`,
`kategorie` ,
`makler` ,
`ort` ,
`bezirk` ,
`refnr` ,
`typ` ,
`kaltmiete` ,
`nebenkosten` ,
`warmmiete` ,
`beschreibung` ,
`lage` ,
`wohngesamt` ,
`grundstueck` ,
`zimmer` ,
`badewanne` ,
`kueche` ,
`bad` ,
`gastwc` ,
`balkon` ,
`keller` ,
`garage` ,
`stellplatz` ,
`tiefgarage` ,
`terrasse` ,
`dachterrasse` ,
`einbaukueche` ,
`heizung` ,
`bild1`
) VALUES ('$titel', '$untertitel', '$kategorie', '$makler', '$ort', '$bezirk', '$refnr', '$typ', '$kaltmiete', 

'$nebenkosten', '$warmmiete', '$beschreibung', '$lage', '$wohngesamt', '$grundstueck', '$zimmer', '$badewanne', 

'$kueche', '$bad', '$gastwc', '$balkon', '$keller', '$garage', '$stellplatz', '$tiefgarage', '$terrasse', 

'$dachterrasse', '$einbaukueche', '$heizung', '$bild1');";

mysql_query($eintrag) OR DIE ("Referenznummer schon vorhanden !");

Da ich aber in den letzten paar Tagen so viel Glück mit diesen Sachen hatte, geht das auch nicht...

Warum schreibt der mir den Bildtitel nicht in die Datenbank ?

Bild 1: <input value="bild1" type="file">
für das Bild

Für den Upload:
Code:
   // Configuration - Your Options
      $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // These will be the types of file that will pass 

the validation.
      $max_filesize = 5524288; // Maximum filesize in BYTES (currently 0.5MB).
      $upload_path = 'uploads/'; // The place the files will be uploaded to (currently a 'files' directory).
 
   $filename = $_FILES['bild1']['name']; // Get the name of the file (including file extension).
   $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.
 
   // Check if the filetype is allowed, if not DIE and inform the user.
   if(!in_array($ext,$allowed_filetypes))
      die('The file you attempted to upload is not allowed.');
 
   // Now check the filesize, if it is too large then DIE and inform the user.
   if(filesize($_FILES['bild1']['tmp_name']) > $max_filesize)
      die('The file you attempted to upload is too large.');
 
   // Check if we can upload to the specified path, if not DIE and inform the user.
   if(!is_writable($upload_path))
      die('You cannot upload to the specified directory, please CHMOD it to 777.');
 
   // Upload the file to your specified path.
   if(move_uploaded_file($_FILES['bild1']['tmp_name'],$upload_path . $filename))
         echo 'Your file upload was successful, view the file <a href="' . $upload_path . $filename . '" 

title="Your File">here</a>'; // It worked.
      else
         echo 'There was an error during the file upload.  Please try again.'; // It failed :(.
 
1. Benutz bei PHP Code bitte PHP Tags
2. Ich sehe nirgendwo, dass du was in $bild1 reinschreibst, könntest es mal $_POST['bild1'] probieren
 
Bild 1: <input value="bild1" type="file">

Für das Bild 1
$_POST['bild1'] funktioniert nicht weil er ja nichts in die Datenbank schreibt.

Hier mal die kompletten Scipts:
addwohnung.php

PHP:
<html>
<head>
<title>Objekt hinzufügen</title>
</head>
<body>
<?php
include ("header.php"); 

?>
<form enctype="multipart/form-data" action="addobjekt.php" method="post">

<table width="750" bgcolor="#C0CCCC" align="center" border="1"><tr><td>
<table align="left" bgcolor="#C0CCCC">

<!--Spalte links -->

<tr><td align="right">Titel:</td><td width="200px" align="left"><input type="text" size="20" name="titel"></td></tr>

<tr><td width="100px" align="right">Untertitel:</td><td width="200px" align="left"><input type="text" size="20" name="untertitel"></td></tr>

<tr><td width="100px" align="right">Kategorie:</td><td width="200px" align="left">
    <select name="kategorie" size="1">
      <option>Wohnung</option>
      <option>Haus</option>
      <option>Garage</option>
      <option>Tiefgarage</option>
      <option>Stellplatz</option>
    </select>
</td></tr>

<tr><td width="100px" align="right">Makler:</td><td width="200px" align="left"><input type="text" size="20" name="makler"></td></tr>

<tr><td width="100px" align="right">Ort:</td><td width="200px" align="left"><input type="text" size="20" name="ort"></td></tr>

<tr><td width="100px" align="right">Bezirk:</td><td width="200px" align="left"><input type="text" size="20" name="bezirk"></td></tr>
<tr><td width="100px" align="right">Ref.-Nummer:</td><td width="200px" align="left"><input type="text" size="20" name="refnr"></td></tr>
<tr><td width="100px" align="right">Typ:</td><td width="200px" align="left">
    <select name="typ" size="1">
      <option>Mietobjekt</option>
      <option>Kaufobjekt</option>
    </select>
</td></tr>
<tr><td width="100px" align="right"><strong>Kaltmiete:</strong></td><td width="200px" align="left"><input type="text" size="20" name="kaltmiete"></td></tr>
<tr><td width="100px" align="right"><strong>Nebenkosten:</strong></td><td width="200px" align="left"><input type="text" size="20" name="nebenkosten"></td></tr>
<tr><td width="100px" align="right"><strong>Warmmiete:</strong></td><td width="200px" align="left"><input type="text" size="20" name="warmmiete"></td></tr>
<tr><td width="100px" align="right">Beschreibung:</td><td width="200px" align="left">
<textarea name="beschreibung" cols="25" rows="10"></textarea>
</td></tr>
<tr><td width="100px" align="right">Lage:</td><td width="200px" align="left">
<textarea name="lage" cols="25" rows="5"></textarea>
</td></tr>
</table>


<!--Spalte rechts -->

<table align="right" bgcolor="#C0CCCC">
<tr><td align="right">Wohnfläche:</td><td width="200px" align="left"><input type="text" size="20" name="wohngesamt"></td></tr>

<tr><td width="100px" align="right">Grundstück:</td><td width="200px" align="left"><input type="text" size="20" name="grundstueck"></td></tr>

<tr><td width="100px" align="right">Zimmer:</td><td width="200px" align="left"><input type="text" size="20" name="zimmer"></td></tr>

<tr><td width="100px" align="right">Badewanne:</td><td width="200px" align="left">
    <select name="badewanne" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Küche:</td><td width="200px" align="left">
    <select name="kueche" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Bad:</td><td width="200px" align="left">
    <select name="bad" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>

<tr><td width="100px" align="right">Gäste-WC:</td><td width="200px" align="left">
    <select name="gastwc" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Balkon:</td><td width="200px" align="left">
    <select name="balkon" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Keller:</td><td width="200px" align="left">
    <select name="keller" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Garage:</td><td width="200px" align="left">
    <select name="garage" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Stellplatz:</td><td width="200px" align="left">
    <select name="stellplatz" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Tiefgarage:</td><td width="200px" align="left">
    <select name="tiefgarage" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Terrasse:</td><td width="200px" align="left">
    <select name="terrasse" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr><tr><td width="100px" align="right">Dachterrasse:</td><td width="200px" align="left">
    <select name="dachterrasse" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Einbauküche:</td><td width="200px" align="left">
    <select name="einbaukueche" size="1">
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Heizungsart:</td><td width="200px" align="left">
    <select name="heizung" size="1">
      <option>-</option>
      <option>Fernwärme</option>
      <option>Zentralheizung</option>
      <option>Elektro</option>
      <option>Nachtspeicher</option>
    </select>
</td></tr>
Bild 1: <input name="bild1" value="bild1" type="file">
<td></td><td>
<input name="upload" type="submit" value="Daten absenden"/>


</tr>



</table>
</table>
<br>

<br>
</form>
</body>
</html>

sendet an addobjekt.php

PHP:
<?php
include ("header.php");
include ("connect.php");

    $titel = $_POST["titel"];
    $untertitel = $_POST["untertitel"];
    $kategorie = $_POST["kategorie"];
    $makler = $_POST["makler"];
    $ort = $_POST["ort"];
    $bezirk = $_POST["bezirk"];
    $refnr = $_POST["refnr"];
    $typ = $_POST["typ"];
    $kaltmiete = $_POST["kaltmiete"];
    $nebenkosten = $_POST["nebenkosten"];
    $warmmiete = $_POST["warmmiete"];
    $beschreibung = $_POST["beschreibung"];
    $lage = $_POST["lage"];
    $wohngesamt = $_POST["wohngesamt"];
    $grundstueck = $_POST["grundstueck"];
    $zimmer = $_POST["zimmer"];
    $badewanne = $_POST["badewanne"];
    $kueche = $_POST["kueche"];
    $bad = $_POST["bad"];
    $gastwc = $_POST["gastwc"];
    $balkon = $_POST["balkon"];
    $keller = $_POST["keller"];
    $garage = $_POST["garage"];
    $stellplatz = $_POST["stellplatz"];
    $tiefgarage = $_POST["tiefgarage"];
    $terrasse = $_POST["terrasse"];
    $dachterrasse = $_POST["dachterrasse"];
    $einbaukueche = $_POST["einbaukueche"];
    $heizung = $_POST["heizung"];
    $bild1 = $_POST["bild1"];




$eintrag = "INSERT INTO `kunden` (
`titel` , 
`untertitel`,
`kategorie` ,
`makler` ,
`ort` ,
`bezirk` ,
`refnr` ,
`typ` ,
`kaltmiete` ,
`nebenkosten` ,
`warmmiete` ,
`beschreibung` ,
`lage` ,
`wohngesamt` ,
`grundstueck` ,
`zimmer` ,
`badewanne` ,
`kueche` ,
`bad` ,
`gastwc` ,
`balkon` ,
`keller` ,
`garage` ,
`stellplatz` ,
`tiefgarage` ,
`terrasse` ,
`dachterrasse` ,
`einbaukueche` ,
`heizung` ,
`bild1`
) VALUES ('$titel', '$untertitel', '$kategorie', '$makler', '$ort', '$bezirk', '$refnr', '$typ', '$kaltmiete', '$nebenkosten', '$warmmiete', '$beschreibung', '$lage', '$wohngesamt', '$grundstueck', '$zimmer', '$badewanne', '$kueche', '$bad', '$gastwc', '$balkon', '$keller', '$garage', '$stellplatz', '$tiefgarage', '$terrasse', '$dachterrasse', '$einbaukueche', '$heizung', '$bild1');";

mysql_query($eintrag) OR DIE ("Referenznummer schon vorhanden !");





   // Configuration - Your Options
      $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // These will be the types of file that will pass the validation.
      $max_filesize = 5524288; // Maximum filesize in BYTES (currently 0.5MB).
      $upload_path = 'uploads/'; // The place the files will be uploaded to (currently a 'files' directory).
 
   $filename = $_FILES['bild1']['name']; // Get the name of the file (including file extension).
   $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.
 
   // Check if the filetype is allowed, if not DIE and inform the user.
   if(!in_array($ext,$allowed_filetypes))
      die('The file you attempted to upload is not allowed.');
 
   // Now check the filesize, if it is too large then DIE and inform the user.
   if(filesize($_FILES['bild1']['tmp_name']) > $max_filesize)
      die('The file you attempted to upload is too large.');
 
   // Check if we can upload to the specified path, if not DIE and inform the user.
   if(!is_writable($upload_path))
      die('You cannot upload to the specified directory, please CHMOD it to 777.');
 
   // Upload the file to your specified path.
   if(move_uploaded_file($_FILES['bild1']['tmp_name'],$upload_path . $filename))
         echo 'Your file upload was successful, view the file <a href="' . $upload_path . $filename . '" title="Your File">here</a>'; // It worked.
      else
         echo 'There was an error during the file upload.  Please try again.'; // It failed :(.
  




echo "Eintrag erfolgt !";
echo "Daten:";

echo "Titel: $titel";
echo "<br>";
echo "<img src='$bild1' />";


mysql_close();
?>

Eigentlich "sollte" in der Spalte "bild1" in der DB doch jetzt z.b. "bildname.jpg" stehen ?
 
Zuletzt bearbeitet:
Das Tut hab ich mir durchgelesen. Ist auch hilfreich allerdings klappt ja der Upload. die Dateien sind ja im Ordner. Nur nicht in der Datenbank...

P.S. Guten Morgen ^^
 
Zurück