lostyazilim
tr.link

admin panelime giriş yapamıyorum

24 Mesajlar 6.337 Okunma
acebozum
tr.link

Storyman Storyman Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 31.08.2020
  • Yaş/Cinsiyet 44 / E
  • Meslek Reklam Ajansı ve Web Geliştirm
  • Konum Bursa
  • Ad Soyad E** T**
  • Mesajlar 210
  • Beğeniler 129 / 105
  • Ticaret 1, (%100)
Anlıyorum, herşeyi geri alıp adım adım kodlamanızdan başka çare yok. Pdo böyle garip hatalar verebiliyor. Hatanın hangi an, hangi kodda jçgerçekleştiğini bulmanız için. Ayrıca, mysqli de kullanmayı deneyebilirsiniz, daha sorunsuz olur
 

 

elektronikssl
reklam

emlak48 emlak48 WM Aracı Kullanıcı
  • Üyelik 28.03.2016
  • Yaş/Cinsiyet 42 / E
  • Meslek Emlak
  • Konum Antalya
  • Ad Soyad İ** Y**
  • Mesajlar 112
  • Beğeniler 3 / 2
  • Ticaret 0, (%0)
Hocam mysqli de kullandığımda veritabanı hatası ile karşılaşıyorum
 

 

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
Temizle fonksiyonu tam olarak ne yapıyor? Veriye strip tags mi yaptırıyorsunuz? Birde bu fonksiyonu gönderin kontrol edelim.
 

 

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
Birde şöyle deneyin.

$kullanici_adi=strip_tags($_POST['username']); //Username çektik
$sifre=md5($_POST['password']); //Pass çekip MD5'e çevirdik
$giriskontrol = $db->prepare("SELECT * FROM uyeler WHERE (kullaniciAdi= :kadi || eposta= :kadi) AND sifre= :pass"); //Sorguyu hazırladık
$db->bindParam(':kadi ', $kullanici_adi, PDO::PARAM_STR); //Veri yükledik
$db->bindParam(':pass', $sifre, PDO::PARAM_STR); //Veri yükledik
$db->execute(); //Post ettik
 

 

wmaraci
wmaraci

emlak48 emlak48 WM Aracı Kullanıcı
  • Üyelik 28.03.2016
  • Yaş/Cinsiyet 42 / E
  • Meslek Emlak
  • Konum Antalya
  • Ad Soyad İ** Y**
  • Mesajlar 112
  • Beğeniler 3 / 2
  • Ticaret 0, (%0)
Merhaba Hocam hata olarak
Fatal error: Uncaught Error: Call to undefined method PDO::bindParam() in hatasını veriyor satır olarakta aşağıdaki satırı gösteriyor

$db->bindParam(':kadi ', $kullanici_adi, PDO::PARAM_STR); //Veri yükledik
 

 

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)

$kullanici_adi=strip_tags($_POST['username']); //Username çektik
$sifre=md5($_POST['password']); //Pass çekip MD5'e çevirdik
$giriskontrol = $db->prepare("SELECT * FROM uyeler WHERE (kullaniciAdi= :kadi || eposta= :kadi) AND sifre= :pass"); //Sorguyu hazırladık
$giriskontrol ->bindValue(':kadi ', $kullanici_adi, PDO::PARAM_STR); //Veri yükledik
$giriskontrol ->bindValue(':pass', $sifre, PDO::PARAM_STR); //Veri yükledik
$giriskontrol ->execute(); //Post ettik
$sonuc= $giriskontrol->fetchAll(PDO::FETCH_ASSOC); //Sonuç(ları) çektik

if($sonuc->rowCount() == 1){ //Eğer kayıt eşleşmiş ise
//İşlem...
}


Yazarken iş yerindeydim pek dikkat edemediğim için hataları yeni fark ettim, birde şöyle dene bakalım mutlaka olması gerekiyor.
 

 

emlak48 emlak48 WM Aracı Kullanıcı
  • Üyelik 28.03.2016
  • Yaş/Cinsiyet 42 / E
  • Meslek Emlak
  • Konum Antalya
  • Ad Soyad İ** Y**
  • Mesajlar 112
  • Beğeniler 3 / 2
  • Ticaret 0, (%0)
Hocam dediğin gibi yaptım,olmadı, kodları aşağıdaki gibi yerleştirdim, kodları kontrol etme şansın varsa çok iyi olur,
Allah razı olsun

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in

bu satırda hata veriyor $giriskontrol ->execute(); //Post ettik



if($_POST && isset($_POST['login']))
{
$return=array("bildirim"=>"","yonlendir"=>"","yonlendirsure"=>3);
if(!empty($_POST['username']) and !empty($_POST['password']))
{
$kullanici_adi=strip_tags($_POST['username']); //Username çektik
$sifre=md5($_POST['password']); //Pass çekip MD5'e çevirdik
$giriskontrol = $db->prepare("SELECT * FROM uyeler WHERE (kullaniciAdi= :kadi || eposta= :kadi) AND sifre= :pass"); //Sorguyu hazırladık
$giriskontrol ->bindValue(':kadi ', $kullanici_adi, PDO::PARAM_STR); //Veri yükledik
$giriskontrol ->bindValue(':pass', $sifre, PDO::PARAM_STR); //Veri yükledik
$giriskontrol ->execute(); //Post ettik
$uyesayisi= $giriskontrol->fetchAll(PDO::FETCH_ASSOC); //Sonuç(ları) çektik

if($uyesayisi->rowCount() == 1)
{
if($uyeninbilgisi->aktif=="1"){
logla("1",GetIP(),$uyeninbilgisi->id,0,0,"","");
if(@$_POST['remember']=="on")
{
$oturumsuresi=((60*60)*24)*2;
}else
{
$oturumsuresi=(60*60)*24;
}
setcookie("uye_kullanici_adi", $kullanici_adi, time() + $oturumsuresi);
setcookie("uye_sifre", $sifre, time() + $oturumsuresi);
setcookie("uye_id", $uyeninbilgisi->id, time() + $oturumsuresi);
setcookie("oturumsuresi",$oturumsuresi, time() + $oturumsuresi);
$_SESSION['girisID']=$uyeninbilgisi->id;
$return['bildirim'].= succes("Başarılı Bir Şekilde Giriş Yaptınız Yönlendiriliyorsunuz..");
if(!empty($_COOKIE['girisyapyonlendirildi'])){
$return['yonlendir']=$_COOKIE['girisyapyonlendirildi'];
$return['yonlendirsure']="3";
}else{
$return['yonlendir']="index.php";
$return['yonlendirsure']="3";
}
}else{
$return['bildirim'].= warning("Şuanda Bu Üyeliğe Erişime İzin Verilmiyor. Lütfen Yönetici İle İrtibat Kurun.");
}
}else if($uyesayisi>"1")
{
$return['bildirim'].= warning("Aynı Bilgiler İle Kayıtlı Birden Fazla Üye Olduğu İçin Giriş Yapamıyorsunuz..");
}else
{
$return['bildirim'].= danger("Kullanıcı Adı veya Şifreniz Yanlış Lütfen Kontrol Ediniz.");
}
}else
{
$return['bildirim'].= warning("Lütfen Tüm alanları Doldurunuz..");
}
echo json_encode($return);
}
 

 

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
Bu da arada bir kullandığım son taktiğim, olmazsa PHP sürümünüzü iletin :))

$kullanici_adi=strip_tags($_POST['username']); //Username çektik
$sifre=md5($_POST['password']); //Pass çekip MD5'e çevirdik
$giriskontrol = $vt->prepare("SELECT * FROM uyeler WHERE (kullaniciAdi= :kadi || eposta= :kadi) AND sifre= :pass");
$giriskontrol->execute(array(
':kadi' => $kullanici_adi,
':pass' => $sifre
));
$giriskontrol->fetch(PDO::FETCH_ASSOC);

if($giriskontrol->rowCount() == 1){
//İşlem...
}
 

 

emlak48 emlak48 WM Aracı Kullanıcı
  • Üyelik 28.03.2016
  • Yaş/Cinsiyet 42 / E
  • Meslek Emlak
  • Konum Antalya
  • Ad Soyad İ** Y**
  • Mesajlar 112
  • Beğeniler 3 / 2
  • Ticaret 0, (%0)

capscroll adlı üyeden alıntı

Temizle fonksiyonu tam olarak ne yapıyor? Veriye strip tags mi yaptırıyorsunuz? Birde bu fonksiyonu gönderin kontrol edelim.



Hocam kusura bakma temizle function kodu istemişsin


function temizle($veri,$html=0){
$veri = trim($veri);
$veri = addslashes($veri);
if($html==0)
$veri = strip_tags($veri);
return $veri;
}
 

 

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
HTML kodlarını önlemek için örnek kodlarda attığım strip_tags fonksiyonu yeterli olacaktır, ekstra fonksiyon kullanmanıza gerek yok.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al