PHP Upload benötige unterstützung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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>
    Last edited by 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.

    Comment


    • #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

      Comment


      • #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"]; 
        Last edited by mxcom; 12-01-2010, 23:18.

        Comment


        • #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]

          Comment


          • #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); 

            Comment


            • #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.

              Comment

              Working...