v2.5.2
Giriş yap

email & telefon ile giriş

Anonim
309 defa görüntülendi
if (isset($_POST['sifre'])) {
        $query = $db->prepare("SELECT * FROM uye where email=:email AND sifre=:sifre LIMIT 1");
        $giris = $query->execute(array(":email" => $_POST['email'], ":sifre" => $_POST['sifre']));
        $giris = $query->fetch(PDO::FETCH_ASSOC);
    
}

telefonu sorguya dahil ettiğimde email veya telefonda boş veri gittiği için işlem başarısız olmakta bunu nasıl çözerim

Cevap yaz
Cevaplar (4)
aykhan
703 gün önce

Form kodlarını ilete bilirmisiniz?

acemi
705 gün önce
			$sql = "SELECT * FROM users WHERE ";
			if(filter_var($_POST['veri'], FILTER_VALIDATE_EMAIL)){
				$sql .= "email=? AND sifre=? ";
			}elseif($_POST["veri"){ // burada preg ile telefon regexi ile kontrol edebilirsin..
				$sql .= "telefon=? AND sifre=? ";
			}

else if yerine else de gidebilirsin geriside normal sql kodları işte bu şekilde daha çok çeşit de sağlayabiilirsin.

gokcin
705 gün önce

Merhaba,

İlk önce şunuda yapabilirsin, E-Posta verisi geliyor ise, epostaya ait giriş bilgilerini sağlayabilirsin., Eğer e-posta verisi boş geliyor ise, GSM alanı aktif ederek, onu kontrol edebilirsin.


if(stripos($_POST['email'],'@') !== FALSE){
//Eposta ile ilgili giriş yaptır


}else{
//telefon numarası ile giriş yaptır.

}

h4ckdr0
709 gün önce

Bu problemi çözmek için, kod parçacığının başına aşağıdaki satırları ekleyebilirsiniiz:

if (empty($_POST['email']) || empty($_POST['sifre'])) {
    // hata ayıklama kodları... 
    // ör: boş bırakılamaz mesajı vb.
} else {
    try {
        // mevcut kodlar...
    } catch (Exception $e) {
        // hata ayıklama kodları... 
        // ör: sunucu hatasında oluşabilecek durumlar için vs.
    }
}

Böylece, kullanıcının girdiği email veya sifre bilgilerinde boş veri var ise, hata ayıklama kodları çalıştırılacak ve işlem başarısız sayılmayacaktır.