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);
}
}
?>
ya anlamadığım elseif yapısında doğru olan koşullar if elseif arasında değilse else dönmesi gerekiyor.
yukarda yaptığım şekilde zaten kontrollerin hepsini tek tek kontrol ediyorum kontrollerden geçiriyor.hiç bir dert yok
sadece yukardakine ek olarak
<?php
$kontrol = pre("SELECT id,kullaniciadi,email FROM yonetici WHERE id NOT IN ($LastID)");
$kontrol->execute([]);
foreach ($kontrol as $row){
if($kullaniciadi == $row["kullaniciadi"] or $email == $row["email"]){
$hata = uyaritime('primary',''.$kullaniciadi.' veya '.$email.' Adı Zaten Mevcut');
if(isset($tekresim)) {DurumResimSil($resimverot,$dosyayolu,$tekresim);}
}
}
?>
buraya email i de ekledim
sorumdaki if elseif else dede bütün koşullar sağlanmasına rağmen else dönmesi gerekiyor
fakat else dönmüyor hiç bir işlem de yapmıyor güncelleme işlemi yapmıyor hata vermiyor sinir etti gece gece
saçma düzen olan
if
else
if
else
if
else
if
else
bu şekilde aynı işlemleri yaptığım zaman hiç bir sorun olmadan çalışıyor zaten
tayfun kardeşim senin dediğinde id yi sessionda tutuyorum zaten fakat onun tam olarak bu koşul kümesinde bana nasıl bir yardımı
post tan aldığım LASTID (15) üye girişi yaptığım SESSİON id (20)
söyle bişi mi demek istedin acaba.
<?php
if(kullaniciadi and email){
if(lastid != $_SESSION["id"]){
$kontrol = pre("SELECT id,kullaniciadi,email FROM yonetici WHERE id NOT IN ($LastID)");
$kontrol->execute([]);
foreach ($kontrol as $row){
if($kullaniciadi == $row["kullaniciadi"] or $email == $row["email"]){
$hata = uyaritime('primary',''.$kullaniciadi.' veya '.$email.' Adı Zaten Mevcut');
if(isset($tekresim)) {DurumResimSil($resimverot,$dosyayolu,$tekresim);}
}
}
}
}
?>
denim yine ama pek umudum yok açıkçası ama yine olmazki yok kafam durdu çalışmıyor ben yatayım
iyi geceler :)