bildpfad hochladen
sanny
- php
hi leute,
ich brauch ma hilfe,komm nich mehr weiter. will einen bildpfad in die datenbank hochladen aber es geht irgendwie nich. das is der code soweit wie ich ihn hab. wär supi wenn mir jemand helfen kann!
if(isset($_GET['aendern']))
{
$sql = "UPDATE bildungsanbieter SET name = '".$_GET['firma']."', telefon = '".$_GET['telefon']."', strasse = '".$_GET['strasse']."', hausnr = '".$_GET['nr']."', ort = '".$_GET['ort']."', plz = '".$_GET['plz']."', www = '".$_GET['www']."', fax = '".$_GET['fax']."', email = '".$_GET['email']."', willkommen= '".$_GET['willkommen']."', anrede = '".$_GET['anrede']."', aname= '".$_GET['name']."', avorname = '".$_GET['vorname']."', land = '".$_GET['land']."' , mobil = '".$_GET['mobil']."' WHERE ID Like '".$_GET['id']."'";
mysql_query($sql) or die ("Query failed");
$size = $logo_size; // Größe der Datei
$name = $logo_name; // Der Originalname
$type = $logo_type; // Der MIME Type der Datei
$picture = stripslashes($logo);
echo $picture;
if(eregi("(jpg|gif|bmp)$",$name))
{
copy($picture,"../../images/logos/".$ID) or die ("Datei nicht hochgeladen"); // Kopiert das Bild
mysql_query("update bildungsanbieter set logo = '../../images/logos/".$ID."' where ID Like '".$ID."'");
echo 'hallo';
}
else
echo ' du da';
}
Hallo sanny,
$size = $logo_size; // Größe der Datei
$name = $logo_name; // Der Originalname
$type = $logo_type; // Der MIME Type der Datei
$picture = stripslashes($logo);
echo $picture;
if(eregi("(jpg|gif|bmp)$",$name))
{
copy($picture,"../../images/logos/".$ID) or die ("Datei nicht hochgeladen"); // Kopiert das Bild
mysql_query("update bildungsanbieter set logo = '../../images/logos/".$ID."' where ID Like '".$ID."'");
Wie erzeugst Du die Variablen $logo, $logo_size, $logo_name, $logo_type?
Das ganze schein widersprüchlich zu sein. Oben greifst Du auf $_GET ...
Gruß aus Berlin!
eddi
Hallo sanny,
will einen bildpfad in die datenbank hochladen aber es geht irgendwie nich.
was geht nicht? Fehlermeldung? Wenn ja, welche? Verhalten soll/ist?
$sql = "UPDATE bildungsanbieter SET name = '".$_GET['firma']."', telefon = '".[...]
bist du sicher, dass du daten die vom User kommen ungeprüft in deinen Query übernehmen willst - du solltest die Daten unbedingt mit mysql_escape_string() o.ä. "entschärfen".
WHERE ID Like '".$_GET['id']."'";
warum nicht
"[...] WHERE id = ".mysql_escape_string($_GET['id']);
? (das "Like" ist hier imho überflüssig)
mysql_query($sql) or die ("Query failed");
[...] or die(mysql_error());
wäre aussagekräftiger.
$size = $logo_size; // Größe der Datei
$name = $logo_name; // Der Originalname
$type = $logo_type; // Der MIME Type der Datei
du möchtest dir http://www.dclp-faq.de/q/q-formular-upload-php4.html und besonders das Array $_FILES anschauen.
if(eregi("(jpg|gif|bmp)$",$name))
preg_match() ist afaik schneller als eregi()
copy($picture,"../../images/logos/".$ID)
->move_uploaded_file() (siehe http://www.php.net/move_uploaded_file)
Grüße aus Nürnberg
Tobias
Hallo!
if(eregi("(jpg|gif|bmp)$",$name))
preg_match() ist afaik schneller als eregi()
Ja, definitv! Siehe folgenden Link:
8.2. Soll ich ereg() oder preg() verwenden?
http://www.dclp-faq.de/q/q-regexp-ereg.html
Zu dem sei ergänzend erwähnt oder besser gewarnt: Vertraue Niemanden und validiere alle eingehenden Daten.
Siehe hierzu:
- dclp-FAQ: 12.11. Prüfe importierte Parameter. Traue niemandem
http://www.dclp-faq.de/q/q-sicherheit-parameter.html
- dclp-FAQ: 16.18. Wie kann ich bösartigen Code in SQL-Abfragen unterbinden?
http://www.dclp-faq.de/q/q-sql-injection.html
Hallo!
if(eregi("(jpg|gif|bmp)$",$name))
preg_match() ist afaik schneller als eregi()Ja, definitv! Siehe folgenden Link:
8.2. Soll ich ereg() oder preg() verwenden?
http://www.dclp-faq.de/q/q-regexp-ereg.html
M. E. ist dies sowieso unnötig. Wie einige Zeilen vorher beschrieben, wird der Mime-Type ermittelt, daher ist diese zusätzliche Bastellei an der Dateiendung Müll.
Gruß aus Berlin!
eddi
ich dank euch schon ma für eure hilfe!!! mittlerweile bekomm ich folgende fehlermeldung:
Z:\mmpgo.gif
Warning: Unable to open 'Z:\mmpgo.gif' for reading: No such file or directory in /var/www/neissetest/seiten/anbieterprofil/daten.php on line 29
Datei nicht hochgeladen
zeile 29 ist diese
copy($picture,"../../images/logos/".$ID) or die ("Datei nicht hochgeladen"); // Kopiert das Bild
Hallo,
Dein Formular scheint mit der Methode GET verschickt zu werden. Nimm POST!
Gruß aus Berlin!
eddi
Hello,
Dein Formular scheint mit der Methode GET verschickt zu werden. Nimm POST!
Und den passenden enctype. PHP kann hierfür nur mit enctype="multipart/form-data" zusammenarbeiten.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
danke, probier ich gleich!
hi,
das is der code soweit wie ich ihn hab.
meintest du
das is der code, so wie ich ihn ge-copy&paste-d hab.
?
und was davon ist jetzt der code, dessen funktionsweise du auch selber verstehst?
gruß,
wahsaga
also gecopyd und gepasted hab ich ihn bestimmt nicht. arbeite mit einem kollegen an dem projekt und ab und zu schreibt er auch ein paar zeilen! natürlich verstehe ich was da geschrieben ist!