2017-05-08 2 views
0
<?php 

    if(isset($_POST['hour'])&&isset($_POST['day'])){ 

     //the path to store the uploaded image. 
     $target = "images/".basename($_FILES['image']['name']); 

     $db = mysqli_connect("localhost","root","","a_database"); 

     $image = $_FILES['image']['name']; 
     $carmodel = $_POST['carmodel']; 
     $cartype = $_POST['cartype']; 
     $hour = $_POST['hour']; 
     $day = $_POST['day']; 

     $query = "INSERT INTO `cardetails` (`image`, `carmodel`, `cartype`, `hour`, `day`) VALUES ('".$image."', '".$carmodel."', '".$cartype."', '".$hour."', '".$day."')"; 
     mysqli_query($db,$query);//stores the data 

     //move uploaded image into the folder. 
     if(move_uploaded_file($_FILES['image']['tmp_name'],$target)){ 
      header('Location:upload_success.php'); 
     }else{ 

      header('Location:upload_fail.php'); 
     } 

    }else{ 
      echo ' '; 
    } 

?> 


<div class="col-lg-offset-4"> 
    <form method="POST" action="upload.php" enctype="multipart/form-data"> 
    <input type="hidden" name="size" value="1000000"> 
    <div class="form-group row"> 
     <input type="file" name="image"> 
    </div> 

    <div class="form-group col-lg-4 row"> 
     <label> Car Model </label> 
     <select name="carmodel" class="form-control" > 
     <option value="Myvi">Myvi</option> 
     <option value="Vios">Vios</option> 
     <option value="Lambo">Lambo</option> 
     </select> 
    </div> 

    <div class="form-group row col-lg-offset-4"> 
    <label> Car Type </label> 
     <input type="radio" name="cartype" value="Auto">Auto 
     <input type="radio" name="cartype" value="Manual"> Manual 
    </div> 

    <div class="form-group"> 
     <input type="text" name="hour" placeholder="$/hour"> 
    </div> 

    <div class="form-group"> 
     <input type="text" name="day" placeholder="$/day"> 
    </div> 

    <div class="form-group"> 
     <button type="submit">Upload</button> 
    </div> 

</form> 

</div> 

Ich habe erfolgreich die Daten in die Datenbank mit dem Bildnamen eingefügt, aber das Bild scheint nicht in meine Bilder-Datei hochladen, was könnte falsch sein? Basierend auf dem obigen Code wird upload_fail.php aufgerufen. Wenn mit $ _POST ['image'] isset, passiert nichts.Wie speichert man Bilder in Dateien mit SQL?

+1

Ihr Skript ist in Gefahr [SQL-Injection-Angriff] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) Werfen Sie einen Blick auf, was mit [Little Bobby Tables] passiert ist (http://bobby-tables.com/) Auch [if Sie entgehen Eingaben, es ist nicht sicher!] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) Verwenden Sie [vorbereitete parametrisierte Anweisungen] (http : //php.net/manual/de/mysqli.quickstart.prepared-statements.php) – RiggsFolly

+0

Was ist dein kompletter Bildpfad? Hast du 755 Erlaubnis gegeben? – C2486

+0

move_uploaded_file() gibt false zurück, wenn ein Fehler aufgetreten ist, und gibt eine Warnung aus. Vielleicht sollten Sie in Ihrem Apache-Fehlerprotokoll nachsehen, was die Warnung ist? Oder schalten Sie die Fehlerausgabe ein (display_errors = On in Ihrer php.ini), so dass Sie die Ausgabe direkt sehen können. –

Antwort

0

Ich denke, Sie haben keine ausreichenden Berechtigungen zum Schreiben in images Verzeichnis. Existiert images Verzeichnis selbst?

Wenn Sie wissen wollen, was falsch ist, können Sie Fehler aktivieren zu Beginn Ihrer PHP-Datei berichten wie:

<?php 
    error_reporting(E_ALL); 
    ini_set('display_errors', 1); 
    ... 
Verwandte Themen