Update sorgusu içinde varlık kontrolü
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);
}
}
?>
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