PHP Upload benötige unterstützung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Upload benötige unterstützung

    Hallo zusammen

    Der Script Funktioniert es wird auf die Datenbank geschrieben nur Bilder werden auf dem Server Zielordner nicht hochgeladen.

    Kann mir jemand hier Unterstützen

    PHP-Code:
    <?php
    require("inc_/db_connect.php");
    $verbindung mysql_connect($server,$benutzer,$passwort) or die 
    (
    "Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!");
    mysql_select_db($datenbank,$verbindung) or die 
    (
    "Verbindungsaufnahme mit Datenbank fehlgeschlagen");

    $verzeichnis "bilder";
    if(isset(
    $HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") {
     
    $marke $HTTP_POST_VARS["marke"];
     
    $modell $HTTP_POST_VARS["modell"];
     
    $jahrgang $HTTP_POST_VARS["jahrgang"];
     
    $fahrzeugart $HTTP_POST_VARS["fahrzeugart"];
     
    $kilometer $HTTP_POST_VARS["kilometer"];
     
    $getriebeart $HTTP_POST_VARS["getriebeart"];
     
    $treibstoff $HTTP_POST_VARS["treibstoff"];
     
    $hubraum $HTTP_POST_VARS["hubraum"];
     
    $zylinder $HTTP_POST_VARS["zylinder"];
     
    $garantie $HTTP_POST_VARS["garantie"];
     
    $preis $HTTP_POST_VARS["preis"];
     
    $bemerkung $HTTP_POST_VARS["bemerkung"];
     
    $pic_pfad $verzeichnis."/".$_FILES['bild1']['name'];
     
    $pic_pfad2 $verzeichnis."/".$_FILES['bild2']['name'];
     
    $pic_pfad3 $verzeichnis."/".$_FILES['bild3']['name'];
     
      
     if ((
    $marke=='') OR ($modell=='')){
     echo 
    "<font color='red'>Bitte füllen Sie alle Pflichtfelder aus*!</font>";
     }
     else
     {
     
    $abfrage "INSERT INTO Kleinanzeige (marke, modell, jahrgang, 
    fahrzeugart, kilometer, getriebeart, treibstoff, hubraum, zylinder, 
    garantie, preis, bemerkung, bild1, bild2, bild3) VALUES ('
    $marke', '$modell', 
    '
    $jahrgang', '$fahrzeugart', '$kilometer', '$getriebeart', '$treibstoff', 
    $hubraum', '$zylinder', '$garantie', '$preis', '$bemerkung', 
    '
    $pic_pfad', '$pic_pfad2', '$pic_pfad3')";
     
    $ergebnis mysql_query($abfrage,$verbindung);
     echo 
    "<font color='green'>Daten erfolgreich eingef&uuml;gt!</font>";
    }
    }
    ?>
    <html>
    <title</title>
    <head>
    <link href="inc_/style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <h1>Daten hinzufügen</h1>
    <br>
    <form action="<?php echo $PHP_SELF;?>" method="POST" enctype='multipart/form-data' method="POST">
    Marke<br>
    <input name="marke" type="text" id="marke" size="30" maxlength="255"><br><br>
    Modell<br>
    <input name="modell" type="text" id="modell" size="30" maxlength="255"><br><br>
    Jahrgang<br>
    <input name="jahrgang" type="text" id="jahrgang" size="30" maxlength="255"><br><br>
    Fahrzeug<br>
    <input name="fahrzeugart" type="text" id="fahrzeugart" size="30" maxlength="255"><br><br>
    Kilometer<br>
    <input name="kilometer" type="text" id="kilometer" size="30" maxlength="255"><br><br>
    Getriebeart <br>
    <input name="getriebeart" type="text" id="getriebeart" size="30" maxlength="255"><br><br>
    Treibstoff<br>
    <input name="treibstoff" type="text" id="treibstoff" size="30" maxlength="255"><br><br>
    Hubraum<br>
    <input name="hubraum" type="text" id="hubraum" size="30" maxlength="255"><br><br>
    Zylinder<br>
    <input name="zylinder" type="text" id="zylinder" size="30" maxlength="255"><br><br>
    Garantie<br>
    <input name="garantie" type="text" id="garantie" size="30" maxlength="255"><br><br>
    Preis<br>
    <input name="preis" type="text" id="preis" size="30" maxlength="255"><br><br>
    Bemerkung<br>
    <textarea name="bemerkung" cols="30" id="bemerkung"></textarea>
    <br><br>
    <input type='file' name='bild1' size=20><br><br>
    <input type='file' name='bild2' size=20><br><br>
    <input type='file' name='bild3' size=20><br><br>
    <input type="submit" name="submit" value="Speichern"> &nbsp;&nbsp;&nbsp; 
    <input name="reset" type="reset" value="L&ouml;schen">
    </form>
    <?php
     $abfrage 
    "SELECT * FROM Kleinanzeige";
     
    $ergebnis mysql_query($abfrage,$verbindung);
     while (
    $datensatz mysql_fetch_array($ergebnis)) {
    ?>
    <table>
    <tr>
    <td class="text"><?php echo $datensatz['id']; ?></td>
    <td class="text">
    <?php
    if ($datensatz['bild1'] != ""

        echo 
    "<img src=\"$datensatz[bild1]\"> ";
    }
    ?>
    </td>
    <td class="text"><?php echo $datensatz['marke']; ?></td>
    <td class="text"><?php echo $datensatz['modell']; ?></td>
    </tr>
    <?php
     
    }
     
    mysql_close($verbindung);
    ?>
    </bod>
    </table>

    </body>
    </html>
    Zuletzt geändert von mxcom; 12.01.2010, 16:29.

  • #2
    Zuerst bitte mal den Code umbrechen.
    Und dann sehe ich nirgendwo wo du das Bild aus dem Temp Ordner in dein gewünschtes Verzeichnis verschiebst. Ich sehe nur die Datenbank Abfrage, aber nirgends den eingentlichen Datei Upload.

    Kommentar


    • #3
      Worked as designed. Du machst ja auch nichts mit den Bildern. Zum Thema Dateiupload findest du hier ein kleines Tutorial.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Hab folgendes versucht, so werden bilder nicht im Folder "Bilder" geladen sondern eine Stufe zurück.


        PHP-Code:
        $file_tmp $_FILES['bild1']['tmp_name'];
        $file $_FILES['bild1']['name'];
        $folder 'bilder';

        if(isset(
        $HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") {
            
        $marke $HTTP_POST_VARS["marke"];
            
        $modell =    $HTTP_POST_VARS["modell"];
            
        $jahrgang =    $HTTP_POST_VARS["jahrgang"];
            
        $fahrzeugart =    $HTTP_POST_VARS["fahrzeugart"];
            
        $kilometer =    $HTTP_POST_VARS["kilometer"];
            
        $getriebeart =    $HTTP_POST_VARS["getriebeart"];
            
        $treibstoff =    $HTTP_POST_VARS["treibstoff"];
            
        $hubraum =    $HTTP_POST_VARS["hubraum"];
            
        $zylinder =    $HTTP_POST_VARS["zylinder"];
            
        $garantie =    $HTTP_POST_VARS["garantie"];
            
        $preis =    $HTTP_POST_VARS["preis"];
            
        $bemerkung =    $HTTP_POST_VARS["bemerkung"];

            
            
        move_uploaded_file($file_tmp$folder.$file); 

        Hab so geändert und es geht, kann mir jemand sagen ob dies sinnvoll ist?

        PHP-Code:
        $dateiname $_FILES['bild1']['name'];
          
        $tmp_name $_FILES['bild1']['tmp_name']; 
          
        $uploadname ="bilder/$dateiname"
           
            
        move_uploaded_file($tmp_name,$uploadname);   

        if(isset(
        $HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") {
            
        $marke $HTTP_POST_VARS["marke"];
            
        $modell =    $HTTP_POST_VARS["modell"];
            
        $jahrgang =    $HTTP_POST_VARS["jahrgang"];
            
        $fahrzeugart =    $HTTP_POST_VARS["fahrzeugart"];
            
        $kilometer =    $HTTP_POST_VARS["kilometer"];
            
        $getriebeart =    $HTTP_POST_VARS["getriebeart"];
            
        $treibstoff =    $HTTP_POST_VARS["treibstoff"];
            
        $hubraum =    $HTTP_POST_VARS["hubraum"];
            
        $zylinder =    $HTTP_POST_VARS["zylinder"];
            
        $garantie =    $HTTP_POST_VARS["garantie"];
            
        $preis =    $HTTP_POST_VARS["preis"];
            
        $bemerkung =    $HTTP_POST_VARS["bemerkung"]; 
        Zuletzt geändert von mxcom; 12.01.2010, 23:18.

        Kommentar


        • #5
          Die erste Variante würde auch funktionieren, wenn du dort noch den Directory-Separator hinzufügst. Bei der zweiten besteht das Problem, dass du die Datei schon speicherst (verschiebst) bevor du überhaupt die POST-Daten ausgewertet (und ggf. auf Korrektheit überprüft) hast.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            So '.bilder.' meinst du?

            PHP-Code:
            $file_tmp $_FILES['bild1']['tmp_name'];
            $file $_FILES['bild1']['name'];
            $folder '.bilder.';

            if(isset(
            $HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") {
                
            $marke $HTTP_POST_VARS["marke"];
                
            $modell =    $HTTP_POST_VARS["modell"];
                
            $jahrgang =    $HTTP_POST_VARS["jahrgang"];
                
            $fahrzeugart =    $HTTP_POST_VARS["fahrzeugart"];
                
            $kilometer =    $HTTP_POST_VARS["kilometer"];
                
            $getriebeart =    $HTTP_POST_VARS["getriebeart"];
                
            $treibstoff =    $HTTP_POST_VARS["treibstoff"];
                
            $hubraum =    $HTTP_POST_VARS["hubraum"];
                
            $zylinder =    $HTTP_POST_VARS["zylinder"];
                
            $garantie =    $HTTP_POST_VARS["garantie"];
                
            $preis =    $HTTP_POST_VARS["preis"];
                
            $bemerkung =    $HTTP_POST_VARS["bemerkung"];

                
                
            move_uploaded_file($file_tmp$folder.$file); 

            Kommentar


            • #7
              Ne, so nicht. Wenn du nicht weißt was ein DIRECTORY_SEPARATOR ist, dann schlag es nach - im PHP-Manual oder bei Google.
              Blindes raten bringt nichts, führt nur zu schlechtem Code.

              Übrigens ist $HTTP_POST_VARS veraltet. Steht auch im Manual.

              Kommentar

              Lädt...
              X