Homepage selbermachen 7.852 Themen, 35.619 Beiträge

problem mit input type="file" und mysql

Yves3 / 4 Antworten / Baumansicht Nickles

hallo


mein problem ist folgendes:


Ich mache eine liste von maschinen für eine firma. in einem administrationbereich sollte die maschinenliste bearbeitet werden können. das funktioniert auch alles so weit, leider muss beim ändern das bild immer wieder neu gewählt und heraufgeladen werden.


das attribut value funktioniert nämlich bei einem input feld mit dem typ file nicht und eine prüfung, ob ein anderes bild angegeben wurde, (bei der auswertung des formulars) hab ich bis jetz noch nicht ferig gebracht.


ich möchte, dass entweder das aktuelle bild als standardwert in das formular eingefügt wird oder, wenn man kein bild auswählt, das bisherige verwendet wird.


ich arbiete mit php und mysql


Vielen Dank für alle Antworten!


das ist der relevante teil des codes, der die daten des formulars in die datenbank einfügt:


          if ($_FILES['bild'] != "") {
          move_uploaded_file($_FILES['bild']['tmp_name'],"Bilder/".$_FILES['bild']['name']);
          }


         $result = mysql_query("INSERT INTO `maschinen` (`kategorie` , `typ` , `bild` , `arbeitsbereich` , `optionen`) VALUES ('".$_POST['kategorie']."','".$_POST['typ']."', 'Bilder/".$_FILES['bild']['name']."', '".$_POST['arbeitsbereich']."', '".$_POST['optionen']."')");


         if($result)
         {
         echo 'Die neue Maschinen wurde erfolgreich eingetragen!<br><a href="maschine_insert.html">Zur&uuml;ck</a>';
         }
         else{
         echo "Querryfehler!";
         }


 mysql_close($link);


 

bei Antwort benachrichtigen
Borlander Yves3 „problem mit input type="file" und mysql“
Optionen

Warum so aufwendig? Prüfe doch einfach ob eine Datei mit hochgeladen wurden, ist das nicht der Fall behällst Du einfach die vorhandene Datei...

Gruß
Borlander

bei Antwort benachrichtigen
Yves3 Borlander „Warum so aufwendig? Prüfe doch einfach ob eine Datei mit hochgeladen wurden,...“
Optionen

ich hab es mal so probiert:

if ($_FILES['bild'] != "") {

dann das query mit bild
}else {
querys ohne bild
}

hat leider nich funktioniert
in diesem feld wird wohl irgendwas mitgegeben, deshalb gab ich mal den inalt des feldes aus(wenn es leer ist).
es wurde der text "Array" ausgegeben, wenn ich jetzt anstelle von "" "Array" prüfe funktoniert es aber auch nicht.

bei Antwort benachrichtigen
Borlander Yves3 „ich hab es mal so probiert: if _FILES bild ! dann das query mit bild else querys...“
Optionen

Ich hab noch mal kurz in de Referenz geschaut:
Wenn keine Datei hochgeladen wurde wird der Fehlerwert
UPLOAD_ERR_NO_FILE in $_FILES['bild']['error'] zurückgeliefer...

bei Antwort benachrichtigen
xafford Yves3 „problem mit input type="file" und mysql“
Optionen

Ein Insert ist der falsche Weg, wenn Du bestehende Datensätze bearbeitest. In diesem Fall sollte es ein UPDATE sein, denn dabei gehen bestehende Werte nicht verloren, wenn diese nicht überschrieben werden. Mache also folgendes:

Ein Modul für Neueintragungen mit INSERT

Ein Modul für Änderungen mit UPDATE, schreibe nur Werte, welche geändert wurden.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen