<?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?
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
Was ist dein kompletter Bildpfad? Hast du 755 Erlaubnis gegeben? – C2486
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. –