sanny: bildpfad hochladen

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';

}

  1. 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

    --
    Manchmal trifft es einen doch ganz unverhofft t86591:
    > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
    Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)
  2. 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

    1. 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

      1. 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

        --
        Manchmal trifft es einen doch ganz unverhofft t86591:
        > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
        Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)
  3. 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

    1. Hallo,

      Dein Formular scheint mit der Methode GET verschickt zu werden. Nimm POST!

      Gruß aus Berlin!
      eddi

      --
      Manchmal trifft es einen doch ganz unverhofft t86591:
      > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
      Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)
      1. 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

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
      2. danke, probier ich gleich!

  4. 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

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. 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!