v2.5.2
Giriş yap

Update sorgusu içinde varlık kontrolü

aydinkeskin
566 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);
	}
}
		
 
 ?>
 
 
 
tayfunerbilen
1247 gün önce

tek ihtiyacın sorguya id != session('id') şeklinde ekleme yapmak, giriş yapanın id'si değilse işlem yap gibi sorguya dahil ediyorsun, session id kendine göre düzenlemen lazım tabi