v2.5.2
Giriş yap

Resim Upload Ederken Diğer Bilgileri Kayıt Edemiyorum

yazilimyolcusu
447 defa görüntülendi

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");
}
?>
Cevap yaz
Cevaplar (4)
sefac
1066 gün önce

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";
}
?>
yazilimyolcusu
1066 gün önce

Vallahi hayran olmamamk elde değil. Çalıştı. Eyvallah.

yazilimyolcusu
1067 gün önce

En yukarıda şu şekilde

<?php
ob_start();
include "../../../baglanti.php";
?>
sefac
1067 gün önce

$db değişkeni oluşturulmamış. Veritabanı bağlantısını yaptınız mı?