Resim Upload Ederken Diğer Bilgileri Kayıt Edemiyorum
Merhaba arkadaşlar. Elimde daha önceden resim upload edebildiğim ve diğer bilgileri de kayıt edebildiğim bir kod var. Input'tan gelen bilgileri ve "input-file" ile resim upload edip bilgileri kayıt etmek istiyorum. Resim gönderdiğim klasöre upload ediliyor ama ne resim yolu ne de diğer bilgiler veritabanına kayıt edilmiyor. Yardımcı olabilir misiniz? Veritabanının resmini aşağıya koyuyorum.
https://www.hizliresim.com/keoi63q
urunekle.php
<form action="urunekleislemsayfa.php" method="POST" enctype="multipart/form-data">
<div class="urun-adi-ekle-div">Sporcu Ürünü Ekle</div>
<div class="urun-adi-giriniz-div">Ürün Adı Giriniz</div>
<input class="urunadi-input" type="text" name="sporcuurunleri_urunadi"><br><br>
<label class="file">Seçiniz
<input type="file" name="files[]" multiple="multiple" value="Resim Yükle" id="dosya" name="resim" />
</label>
<div class="urun-stokkodu-giriniz-div">Ürün Stok Kodu Giriniz</div>
<input class="urun-stok-kodu-input" type="text" name="sporcuurunleri_stokkodu"><br><br>
<div class="urun-fiyati-giriniz-div">Ürün Fiyatı Giriniz</div>
<input class="urun-fiyat-input" type="text" name="sporcuurunleri_urunfiyati"><br><br>
<input class="urun-submit" type="submit" name="urun_fiyat" value="Ürünü Kaydet">
</form>
urunekleislemsayfa.php
<?php
if(isset($_POST['urun_fiyat'])) {
$sporcuurunleri_stokkodu = $_POST["sporcuurunleri_stokkodu"];
$sporcuurunleri_urunfiyati = $_POST["sporcuurunleri_urunfiyati"];
$sporcuurunleri_urunadi = $_POST["sporcuurunleri_urunadi"];
// Count total files
$countfiles = count($_FILES['files']['name']);
// Prepared statement
$query = "INSERT INTO sporcuurunleri (sporcuurunleri_stokkodu, sporcuurunleri_urunfiyati, sporcuurunleri_urunadi) VALUES(?,?,?)";
$statement = $db->prepare($query);
// Loop all files
for($i=0;$i<$countfiles;$i++){
// File name
$filename = $_FILES['files']['name'][$i];
// Location
$target_file = '../../../images/urunresimleri/'.$filename;
// file extension
$file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
// Valid image extension
$valid_extension = array("png","jpeg","jpg");
if(in_array($file_extension, $valid_extension)){
// Upload file
if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){
// Execute query
$statement->execute(array($filename,$idsi,$baslik));
}
}
}
header("refresh:0; url=urunekle.php");
}
?>
Açıkçası yazdığın kod çok hatalı ve eksik. Birkaç düzenleme yaptım şu an çalışıyor.
<?php
ob_start();
require_once "database.php";
if(isset($_POST['urun_fiyat'])) {
$sporcuurunleri_stokkodu = $_POST["sporcuurunleri_stokkodu"];
$sporcuurunleri_urunfiyati = $_POST["sporcuurunleri_urunfiyati"];
$sporcuurunleri_urunadi = $_POST["sporcuurunleri_urunadi"];
$countfiles = count($_FILES['files']['name']);
$query = "INSERT INTO sporcuurunleri (sporcuurunleri_resim, sporcuurunleri_stokkodu, sporcuurunleri_urunfiyati, sporcuurunleri_urunadi) VALUES(:sporcuurunleri_resim, :sporcuurunleri_stokkodu, :sporcuurunleri_urunfiyati, :sporcuurunleri_urunadi)";
for($i=0;$i<$countfiles;$i++){
$filename = $_FILES['files']['name'][$i];
$target_file = 'images/' .$filename;
$file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
$valid_extension = array("png","jpeg","jpg", "mp4");
if(in_array($file_extension, $valid_extension)){
if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){
try {
$statement = $db->prepare($query);
$sorgu = $statement->execute([
':sporcuurunleri_resim' => $filename,
':sporcuurunleri_stokkodu' => $sporcuurunleri_stokkodu,
':sporcuurunleri_urunfiyati' => $sporcuurunleri_urunfiyati,
':sporcuurunleri_urunadi' => $sporcuurunleri_urunadi
]);
if ($sorgu) {
echo "Başarılı";
header("refresh:2; url=urunekle.php");
}else {
echo $statement->errorCode() . ' Error: <br>';
print_r($statement->errorInfo());
}
}catch (PDOException $e){
echo "Error: " . $e;
}
}
}
}
}else {
echo "Hata";
}
?>