v2.5.2
Giriş yap

LastInsertID çalışmaması

ynscnr55
440 defa görüntülendi

Arkadaşlar Merhaba. Galeri sayfası için aynı form üzerinden çoklu resim yüklemeyi deniyorum. LastInsertId bi türlü çalıştıramadım. Yardımcı olubilir misiniz ?

                                           if(isset($_POST['galeriKaydet']))
{
    $ad=$_POST['galeri_ad'];
    $desc=$_POST['galeri_desc'];
    $keyword=$_POST['galeri_keyword'];
    $aciklama=$_POST['galeri_aciklama'];
    $durum=$_POST['galeri_durum'];
    $zaman=$_POST['galeri_zaman'];  
	$sira=$_POST['galeri_sira'];	
    $uploads_dir ='../../img';
    $tmp_name=$_FILES['galeri_resimyol']["tmp_name"];  
    $benzersizsayi1=rand(20000,32000);
    $benzersizsayi2=rand(20000,32000);
    $uzanti = '.webp';
    $benzersizad=$benzersizsayi1.$benzersizsayi2;
    $refingyol=substr($uploads_dir, 3)."/".$benzersizad.$uzanti;
    @$tip = pathinfo($_FILES['galeri_resimyol']["name"], PATHINFO_EXTENSION);
  if (($tip != "jpg") && ($tip != "png" ) && ($tip != "webp") && ($tip != "gif")) { 
     /*  echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-danger alert-dismissible fade show" role="alert">
       <strong>Başarısız.!</strong><br>JPG, PNG, GIF veya WEBP Formatında Resim Seçiniz.
        <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
      </div></div>'; */
  	 echo "<script>location.href='../galeri-ekle.php?durum=error'</script>";
   }else{   


    @move_uploaded_file($tmp_name, "$uploads_dir/$benzersizad$uzanti");
    $galeri_ekle=$db->prepare("insert into galeri (galeri_ad,galeri_desc,galeri_keyword,galeri_aciklama,galeri_durum,galeri_zaman,galeri_sira,galeri_resimyol) values(?,?,?,?,?,?,?,?)");
    $galeri_ekle->execute(array($ad,$desc,$keyword,$aciklama,$durum,$zaman,$sira,$refingyol));
	$pid = $db->LastInsertId();
    if (isset($_FILES['resim'])) {
    $yuklenemeyenler = array(); //yüklenemeyen ve hatası dönen resimleri bu dizide tutacağız.
    $uzanti = '.webp';
    $klasor = "../../img"; //yükleyeceğimiz klasörü belirledik.

    //Artık resimlerimiz dizi olarak geldiği için bir döngü ile tek tek kontrol ve kayıt etmemiz gerekiyor.
    $resim_sayisi = count($_FILES['resim']['name']); //kaç tane resim geldiğini öğrendik.
    for ($i = 0; $i < $resim_sayisi; $i++) {
        //resim sayısı kadar döngüye soktuk.

        $resimBoyutu = $_FILES['resim']['size'][$i]; //döngü içerisindeki resmin boyutunu öğrendik.
        if ($resimBoyutu > (1024 * 1024 * 12)) {
            //buradaki işlem aslında bayt, kilobayt ve mb formülüdür.
            //2 rakamını mb olarak görün ve kaç yaparsanız o mb anlamına gelir.
            //Örn: (1024* 1024* 3) => 3MB/ (1024* 1024* 4) => 4MB

            $yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " - BOYUT";
        } else {
            $resimtip = $_FILES['resim']['type'][$i]; //resim resimtipini öğrendik.
            $resimAdi = $_FILES['resim']['name'][$i]; //resmin adını öğrendik.
            
            if ($resimtip == 'image/jpeg' || $resimtip == 'image/jpg' || $resimtip == 'image/png') { //uzantısnın kontrolünü sağladık. sadece .jpg ve .png yükleyebilmesi için.
            move_uploaded_file($_FILES['resim']['tmp_name'][$i],$klasor."/".$_FILES['resim']['name'][$i].$uzanti);
            $db->query("insert into resim values ('','$pid','".$klasor."/".$_FILES['resim']['name'][$i].$uzanti."')");
          


            } else {
                $yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " UZANTI";
            }
        }
    }
    if (count($yuklenemeyenler) > 0) {
        echo "Aşağıdaki Resimler Yüklenemedi. <br />";
        var_dump($yuklenemeyenler);
    } else echo "TÜM RESİMLER BAŞARILI BİR ŞEKİLDE YÜKLENDİ.";
}
    if($galeri_ekle)
    {
     /*   echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-success alert-dismissible fade show" role="alert">
       <strong>Başarılı.!</strong><br>Galeri Başarıyla Eklendi.
        <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
      </div></div>'; */
           echo "<script>location.href='../galeri.php?durum=ok'</script>";
        //  header("Location:../production/iletisim_ayar.php?durum=ok");

    }
    else
    {
              /*  echo '<div style="width:320px;" class="position-absolute top-0 end-0"><div class="alert alert-danger alert-dismissible fade show" role="alert">
       <strong>Başarısız.!</strong><br>Ekleme İşlemi Yapılırken Hata Oluştu.
        <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
      </div></div>'; */
           echo "<script>location.href='../galeri-ekle.php?durum=no'</script>";
        //header("Location:../production/iletisim_ayar.php?durum=no");
    }
}

} 

gokcin
553 gün önce

Diğer arkadaşımın sana verdiği tavsiye işlemine uyarsan, yazdığın koduda okuyabilir, nerelerde hata yapıyorsan onuda kolaylıkla bulabilirsin. Ayrıca vermiş olduğum kod doğru bir yapı. Kullandığın yapıdan kaynaklı hata alıyorsun.