lostyazilim
tr.link

Php Kaydol Hatası

4 Mesajlar 682 Okunma
acebozum
tr.link

mesut33 mesut33 WM Aracı Kullanıcı
  • Üyelik 15.11.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek Yönetici
  • Konum Mersin
  • Ad Soyad M** U**
  • Mesajlar 153
  • Beğeniler 44 / 11
  • Ticaret 0, (%0)
Merhaba Arkadaşlar Sorunum Şu, Formu Normal Eksiksiz Bir Şekilde doldurup Gönderirisem Hiçbir Sıkıntı Yok ama benim istediğim boş bıraktığım alanlar için uyarı versin. vermiyorda direk en aşağıdaki else düşüyor.
Yani Şöyle Önce 1 if sonra elseif devam etsin öylece ama devam etmiyor direk en aşağıya atıyor.

if($data = form_control())
{
$unvan = post('unvan');
$username = post('username');
$email = post('email');
$password = post('password');
$password_again = post('password_again');
if (!$unvan)
{
$json['error'] ='Lütfen Yönetici Ünvanını Yazın';
}
elseif(!$username)
{
$json['error'] ='Lütfen Yönetici Kullanıcı Adınızı Yazın';
}
elseif(!$email)
{
$json['error'] ='Lütfen E-Posta Adresinizi Yazın';
}
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$json['error'] ='Lütfen Geçerli Bir E-Posta Adresinizi Yazın';
}
elseif (!$password || !$password_again)
{
$json['error'] ='Lütfen Şifrenizi Girin';
}
elseif ($password != $password_again)
{
$json['error'] ='Girdiğiniz Şifreler Birbiriyle Uyuşmuyor.';
}
else
{
// üye var mı kontrol et
$query = $db->prepare('SELECT * FROM users WHERE user_name = :username || user_email = :email');
$query->execute([
'username' => $username,
'email' => $email
]);
$row = $query->fetch(PDO::FETCH_ASSOC);

if ($row){
$json['error'] = 'Bu kullanıcı adı ya da e-posta zaten kullanılıyor. Lütfen başka bir tane deneyin.';
} else {

// üyeyi ekle
$query = $db->prepare('INSERT INTO users SET user_unvan = :unvan, user_name = :username, user_url = :url, user_email = :email, user_password = :password');
$result = $query->execute([
'unvan' => $unvan,
'username' => $username,
'url' => permalink($username),
'email' => $email,
'password' => password_hash($password, PASSWORD_DEFAULT)
]);

if ($result){
$json['success'] = 'Üyeliğiniz başarıyla oluşturuldu';
} else {
$json['error'] = 'Bir sorun oluştu, lütfen daha sonra tekrar deneyin.';
}

}

}

}
else
{
$json['error']='Lütfen Boş Alan Bırakmayınız';
}
 

 

elektronikssl
webimgo

carasar carasar All ızz well... Kullanıcı
  • Üyelik 29.10.2016
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğretmen
  • Konum Konya
  • Ad Soyad O** K**
  • Mesajlar 1116
  • Beğeniler 499 / 498
  • Ticaret 16, (%100)
Zaten tek tek kontrol etmişsin. Niye sona bir daha boş alan bırakmayın yazdın ki?
 

 

mesut33 mesut33 WM Aracı Kullanıcı
  • Üyelik 15.11.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek Yönetici
  • Konum Mersin
  • Ad Soyad M** U**
  • Mesajlar 153
  • Beğeniler 44 / 11
  • Ticaret 0, (%0)
onu ekledim çünkü hata döndürmüyordu. görmem için yani, ama sabah 6 civarında hatanın kaynağını buldum.

if($data = form_control())
yerine if (post('submit')) yazmam gerekiyordu onuda gözden kaçırmışım. üstünden iyice geçtikten sonra hatayı fark ettim..
 

 

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
if(empy) kullanabilirsiniz. hatta sorguyu yazarken:



if(empty($unvan || $username || $email || $password || $password_again)) {

die('Lütfen boş alanları doldurunuz!');

}



Bu sorguda eğer unvan VEYA username VEYA email VEYA password VEYA password_again boşsa, die ile işlemi sonlandırıp bu uyarıyı ver dedik. Yani else if, else if diye kodları uzatmanıza gerek yok. Ayrıca post ederken:



$passwordhash = md5($password);



diyerek de md5 şeklinde veritabanına kaydedebilirsiniz.
 

 

wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al