v2.5.2
Giriş yap

LastInsertID çalışmaması

ynscnr55
528 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");
    }
}

} 

abdullahx
772 gün önce

Size naçizane bir tavsiyem, daha temiz bir kod yazmaya çalışın. Her şey birbirine girmiş durumda bu kodlarda. Bunun farkına ileride varacaksınız, bu karmaşık görüntü sizi de rahatsız edecek, ve keşke php kodlamaya youtube'daki o video serisinden başlamasaydım diyeceksiniz. Zira o izlediğiniz seri tam bir php katili serisi. Farklı kurslardan daha güzel algoritmalar geliştirecek şekilde öğrenmenizi tavsiye ediyorum.
Başkasını bilmem ama ben yukarıda yazdığınız kodlara bakınca hiç oturup inceleyesim gelmiyor.