İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Hata var ama nerde?

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

teknozada

0
İyinet Üyesi
Katılım
9 Kasım 2011
Mesajlar
134
Reaction score
0
PHP:
<?php
include("ayar.php");
$mail=$_POST["mail"];
$sifre=$_POST["sifre"];

$sor=mysql_query("selecet * from zafer where mail='$mail', and sifre='$sifre'");
if(@mysql_num_rows($sor)>0){
$kullanici_durum=mysql_fetch_array($sor);
$durum=$kullanici_durum['ban'];
if($durum=="0") {
setcookie("mail","$mail",time()+60*60);
echo'Hosgeldin $mail';
}else{
echo'Banlısınız';
exit();
}

}else{
echo'Hatali Mail yada Sifre';

   }
?>
Bu kodda bir hata var bulamadım,Hatali Mail yada Sifre yazıyor hep yardım edin :(
 

wdr.leo

0
İyinet Üyesi
Katılım
2 Nisan 2011
Mesajlar
38
Reaction score
1
Hata tam olarak
PHP:
$kullanici_durum=mysql_fetch_array($sor); 
$durum=$kullanici_durum['ban']; if($durum=="0") {
burada bir mantık hatası olmuş.
isterseniz [email protected] adresini ekleyin yardımcı olayım yada buradan tam olarak yapmak istediğiniz nedir açıklarsanız kodu ona göre yeniden yazıp ekleyebilirim.
İyi günler.
 

wdr.leo

0
İyinet Üyesi
Katılım
2 Nisan 2011
Mesajlar
38
Reaction score
1
Amaç giriş yaptırmak ise bu ban vs. kodları gereksiz.
Ayrıca giriş için cookie yerine session kullanmanızı öneririm.
Şuan gördüğüm birşey daha var onu bir deneyin düzeltin tahminimce bu sefer giriş yapacak ama ban gösterecek.Yinede sizin yazdığınız kod şeklinin olması açısından ilk olarak bu hatayı paylaşayım.Yine sorunla karşılaşırsanız yazın hemen baştan sona yeni bir kod göndereyim size.
PHP:
$sor=mysql_query("selecet * from zafer where mail='$mail', and sifre='$sifre'");
Burda ki sorgu cümlenizde $mail' değişkeninden sonra gelen , işareti gereksiz ve selecet değil select yazılı olması gerekir.
Sorgunun hatalı olmasını sağlıyor tahminimce.
Olması gereken;
PHP:
$sor=mysql_query("select * from zafer where mail='$mail' and sifre='$sifre'");
Kolay gelsin.

Deneyin eğer yine hata ile karşılaşırsanız devamınıda yenileyip paylaşayım
 

wdr.leo

0
İyinet Üyesi
Katılım
2 Nisan 2011
Mesajlar
38
Reaction score
1
PHP:
<?php 
include("ayar.php"); 

$mail = htmlspecialchars($_POST["mail"]); 
$sifre = $_POST["sifre"]; 

$sor = mysql_query("select * from zafer where mail='$mail' and sifre='$sifre'"); 
$kontrol = mysql_num_rows($sor);
if($kontrol > 0){
	$_SESSION['giris_'] = true;
	$_SESSION['mail_'] = $mail; 
	echo 'Başarıyla giriş yapıldı hoşgeldiniz,'.$_SESSION['mail'].'';
}else{ 
echo'Hatali Mail yada Sifre'; 
}
 
   ?>

Fikrimde yanılmadım o kod gereksiz bir koddu.
Üstteki şekli bir deneyin bakalım.
 

wdr.leo

0
İyinet Üyesi
Katılım
2 Nisan 2011
Mesajlar
38
Reaction score
1
Çalıştı çok sağol :)

Rica ederim,başka bir sayfada giriş kontrolü yaparken veya herhangi bir yerde
PHP:
<?php
if($_SESSION['giris_'] == true){
//giriş yapıldıysa

}else{
//giriş yapılmadıysa

}
?>
bu mantıkla hareket etmenizi öneririm ayrıca şifreleri md5 fonksiyonlarıyla desteklemnizi de öneririm.
Son olarakta şöyle bir ekleme yapmadan gidemeyeceğim :)

PHP:
<?php  
include("ayar.php");  

$mail = htmlspecialchars($_POST["mail"]);  
$sifre = $_POST["sifre"];  
if(empty($mail) || empty($sifre)){

echo ' Şifre ve mail alanı boş bırakılamaz,lütfen tekrar deneyin. ';

}else{
$sor = mysql_query("select * from zafer where mail='$mail' and sifre='$sifre'");  
$kontrol = mysql_num_rows($sor); 
if($kontrol > 0){ 
    $_SESSION['giris_'] = true; 
    $_SESSION['mail_'] = $mail;  
    echo 'Başarıyla giriş yapıldı hoşgeldiniz,'.$_SESSION['mail'].''; 
}else{  
echo'Hatali Mail yada Sifre';  
} 
}
  
   ?>

İyi günler dilerim.Kolay gelsin.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst