v2.5.2
Giriş yap

Update sorgusu içinde varlık kontrolü

aydinkeskin
609 defa görüntülendi

güncelleme işlemi yapmadan önce aynı kayıtların varmı diye kontrol ettiriyorum
fakat zaten var olan kullanici adi ve şifreyi bunalrın dışında tutması için
böyle bir sql komutu kullanıyorum ama

bunda güncellemeye engel oluyor boş döndüyor

<?php
 $kontrol = pre("SELECT id,kullaniciadi,email FROM yonetici WHERE id NOT IN ($LastID)");
 $kontrol->execute([]); 
  foreach ($kontrol as $row){ 
   if($kullaniciadi == $row["kullaniciadi"]){
     $hata = uyaritime('primary',''.$kullaniciadi.' veya '.$email.' Adı Zaten Mevcut');
       if(isset($tekresim)) {DurumResimSil($resimverot,$dosyayolu,$tekresim);}
    }
  }
?>

sql de test ediyorum sorunsuz çalışıyor.
tam kodlar aşağıdaki gibi.

token süre hatasına düşüyor direk işlem oda arka tarafta düşüyor zaten yonlendirmesini gerçekleştirmiyor öyle olunca.

tam olarak yapmak istediğim.
düzenle sayfasında kullaniciadi veya email değiştirildiğinde
o kullaniciadi veya email sql tablosunda kendi kullandığı hariç id den arama yapması varsa hata vermesi

 <?php

if(isset($_POST["yoneticiguncelle"]) && $_SESSION["adminlogin"]=="true"){
	adminlogin();
	
	if (CSRF::validate_token($_POST["YoneticiDuzenleCSRFtoken"],"YoneticiDuzenleCSRFtoken")) {
		if(roleControl() or SUPERADMINROLE() ){
			
			if(isset($_POST["erkek"]))
				$cinsiyet = $_POST["erkek"] == "on" ? "Erkek" : "Kadın";
			elseif(isset($_POST["kadin"]))
				$cinsiyet = $_POST["kadin"] == "on" ? "Kadın" : "Erkek";
			
			
			
			$ad = guvenlik($_POST["ad"]);
			$soyad = guvenlik($_POST["soyad"]);
			$kullaniciadi = guvenlik($_POST["kullaniciadi"]);
			$usertype = guvenlik($_POST["role"]);
			$sifre = sha1(sha1($_POST["sifre"]));
			$sifre2 = sha1(sha1($_POST["sifre2"]));
			$email = guvenlik($_POST["email"]);
			$dt = guvenlik($_POST["dt"]);  
			$telefon = guvenlik($_POST["gsm"]);
			$website = guvenlik($_POST["website"]);
			$anadil = guvenlik($_POST["anadil"]);
			$gender = $cinsiyet;
			$ILETISIMemail = isset($_POST["ILETISIMemail"]) == "on" ? guvenlik($_POST["ILETISIMemail"]) : "";
			$ILETISIMsms = isset($_POST["ILETISIMsms"]) == "on" ? guvenlik($_POST["ILETISIMsms"]) : "";
			$ILETISIMtelefon = isset($_POST["ILETISIMtelefon"]) == "on" ? guvenlik($_POST["ILETISIMtelefon"]) : "";
			$adres1 = guvenlik($_POST["adres1"]);
			$adres2 = guvenlik($_POST["adres2"]);
			$postakod = guvenlik($_POST["postakod"]);
			$sehir = guvenlik($_POST["sehir"]);
			$ilce = guvenlik($_POST["ilce"]);
			$ulke = guvenlik($_POST["ulke"]);
			$twitter = guvenlik($_POST["twitter"]);
			$facebook = guvenlik($_POST["facebook"]);
			$instagram = guvenlik($_POST["instagram"]);
			$github = guvenlik($_POST["github"]);
			$codepen = guvenlik($_POST["codepen"]);
			$slack = guvenlik($_POST["slack"]); 
			$LastID = intval($_POST['LastID']);

				
			$yeniisim = sha1(md5(date("1YmdHis")));
			$uzanti = 'jpg';
			$files = 'resim'; 
			$multifiles = 'cokresim';
			$dosyayolu =  __ROOT__."/uploads/yonetici/";
			$x =  $boyut['yonetici_w'];
			$y =  $boyut['yonetici_h'];
				$coklu = new resim(); 
				// $w = $resimW == null ? $x : $resimW;
				// $h = $resimH == null ? $y : $resimH;
				$resimverot = $coklu->cokyukle($files,$dosyayolu,$x,$y);

				
 
			if(GDControl() and ($gd2["GD"] == 1) ){
				if(!empty($resimverot)){	
					$wepb = webp($dosyayolu.$resimverot); 
						$tekresim = webpTemizle($dosyayolu,$wepb); 
				}	
			}else{
				$tekresim = $coklu->cokyukle($files,$dosyayolu,$w,$h);
			}
		
			if(!empty($kullaniciadi) or !empty($email) ){
				$kontrol = pre("SELECT id,kullaniciadi,email FROM yonetici WHERE id NOT IN ($LastID)");
				$kontrol->execute([]); 
					foreach ($kontrol as $row){ 
						if($kullaniciadi == $row["kullaniciadi"]){
							$hata = uyaritime('primary',''.$kullaniciadi.' veya '.$email.' Adı Zaten Mevcut');
							if(isset($tekresim)) {DurumResimSil($resimverot,$dosyayolu,$tekresim);}
						}
					}
			}elseif( !empty($sifre) != !empty($sifre2) ){
				$hata = uyaritime('info','Girilen Şifreler Birbirinden Farklı');
				if(isset($tekresim)) DurumResimSil($resimverot,$dosyayolu,$tekresim);
			}elseif( $sifre != $sifre2 ){
				$hata = uyaritime('info','Girilen Şifreler Birbirinden Farklı');
				if(isset($tekresim)) DurumResimSil($resimverot,$dosyayolu,$tekresim);
			}elseif(empty($usertype)){
				$hata = uyaritime('info','Lütfen Yetki Tanımlayınız');
				if(isset($tekresim)) DurumResimSil($resimverot,$dosyayolu,$tekresim);
			}elseif(empty($kullaniciadi)){ 
				$hata = uyaritime('info','LütfenKullancı Adı Belirtiniz.');
				if(isset($tekresim)) DurumResimSil($resimverot,$dosyayolu,$tekresim);
			}elseif(empty($sifre) and empty($sifre2) ){
				$sql = "UPDATE yonetici SET
							ad=?, soyad=?, kullaniciadi=?, usertype=?, email=?, dt=?, telefon=?, 
							website=?, anadil=?, gender=?, ILETISIMemail=?, ILETISIMsms=?, ILETISIMtelefon=?, 
							adres1=?, adres2=?, ilce=?, ulke=?, postakod=?, sehir=?, 
							twitter=?, facebook=?, instagram=?, github=?, codepen=?, slack=?, create_at=?, durum=?
						WHERE id=?";
				$kayit = $db->prepare($sql);
				$kayit->execute([$ad,$soyad,$kullaniciadi,$usertype,$email,$dt,$telefon,
								$website,$anadil,$gender,$ILETISIMemail,$ILETISIMsms,$ILETISIMtelefon,
								$adres1,$adres2,$ilce,$ulke,$postakod,$sehir,
								$twitter,$facebook,$instagram,$github,$codepen,$slack,$date,"Aktif",$LastID]);
				if($kayit ){
					$hata = uyari('success', kisalt1($kullaniciadi,20).' AdlıYönetici Başarıyla Güncellendi.',PANEL.'/Ayarlar/Yonetici/',3);
					unset($_SESSION["YoneticiDuzenleCSRFtoken"]);
				}else{
					$hata = uyari('danger', kisalt1($kullaniciadi,20).' AdlıYönetici Güncellenirken Bir Sorun Oluştu!',PANEL.'/Ayarlar/Yonetici/',3);
				}
			}else{
				$sql = "UPDATE yonetici SET
							ad=?, soyad=?, kullaniciadi=?, sifre=?, sifre2=?, usertype=?, email=?, dt=?, telefon=?, 
							website=?, anadil=?, gender=?, ILETISIMemail=?, ILETISIMsms=?, ILETISIMtelefon=?, 
							adres1=?, adres2=?, ilce=?, ulke=?, postakod=?, sehir=?, 
							twitter=?, facebook=?, instagram=?, github=?, codepen=?, slack=?, create_at=?, durum=?
						 WHERE id=?";
				$kayit = $db->prepare($sql);
				$kayit->execute([$ad,$soyad,$kullaniciadi,$sifre,$sifre2,$usertype,$email,$dt,$telefon,
								$website,$anadil,$gender,$ILETISIMemail,$ILETISIMsms,$ILETISIMtelefon,
								$adres1,$adres2,$ilce,$ulke,$postakod,$sehir,
								$twitter,$facebook,$instagram,$github,$codepen,$slack,$date,"Aktif",$LastID]);
				if($kayit ){
					$hata = uyari('success', kisalt1($kullaniciadi,20).' AdlıYönetici Başarıyla Güncellendi.',PANEL.'/Ayarlar/Yonetici/',3);
					unset($_SESSION["YoneticiDuzenleCSRFtoken"]);
				}else{
					$hata = uyari('danger', kisalt1($kullaniciadi,20).' AdlıYönetici Güncellenirken Bir Sorun Oluştu!',PANEL.'/Ayarlar/Yonetici/',3);
				}
			}
		
		}else{
			$hata = DemoUyari('info','İşlem İçin Yetki Seviyeniz Yeterli Değil.');
		}
	}else{
		$hata = uyaritime('danger','Token Hatası veya İllegal Durum Denemesi '.ipadres().' İP Adresiniz Kayıt Edilmiştir.');
		yonlendir(PANEL.'/exit.php',5);
	}
}
		
 
 ?>
 
 
 
aydinkeskin
1435 gün önce

@tayfun hocam seninkide işlem yaptırıp yaptırmam olayı
benim istediğim bu değil ben zaten onu kontrol fonksiyonları ile yapıyorum.

verdiğim tabloda yapmıyor bu işlemi kullanıcıadı ve email boş değil kontrol ettirmeye atıyorum ve kontrol edilen id den güncellenen id yi çıkartıyorum
diğerlerinin arasında varmı bu yazılan isim diye
haliyle kontrol ediyor varsa uyarı veriyor
fakat yoksa güncelleme işlemi yapması gerkeiyor yapmıyor sayfa refresh atıyor sanki boş dönüyor.

}elseif( !empty($sifre) != !empty($sifre2) ){

bu koşula düşmüyor ki bundan sonrakilere düşsün.