• 22-12-2016, 01:39:24
    #1
    Merhaba iyi geceler.

    Saatlerdir düzeltmeye çalışıyorum , forumda birçok kaynağı araştırdım fakat çözemedim. Önerisi olan arkadaşlar yardım ederse çok sevinirim.

    localhost'ta üye giriş sistemi tasarlıyorum.

    Kod :

    <?php
    session_start();
    include "config.php";
    
    $kadi = $_POST["kadi"];
    $sifre = $_POST["sifre"];
    $parola = md5($sifre);
    
    if ($kadi =="" || $sifre ==""){
    	echo "bos alan bırakmayınız";
    	exit;
    }
    else {
    	if($kadi && $sifre){
    		$_SESSION["kadi"] = $kadi;
    		
    		$sorgula = mysql_query("SELECT kullanici_adi='$kadi' , sifre='$sifre' FROM uyeler") ;
    		
    		$verisay = mysql_num_rows($sorgula);
    		
    		if($verisay > 0) {
    			
    		}else{
    			echo "kullanıcı adı veya sifre yanlıs";
    		}
    	}
    }
    
    ?>
    Aldığım hata ise şu ;

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test\girisyap.php on line 20
    kullanıcı adı veya sifre yanlıs


    Veritabanımın resmi : http://prntscr.com/dmdp87

    echo "mysql_error" yaptığımda aldığım hata : " No Database Selected "


    Arkadaşlar birçok şey denedim yine de olmadı.

    Fikri olan varsa paylaşırsa çok sevinirim.

    Teşekkürler
  • 22-12-2016, 02:40:59
    #2
    Üyeliği durduruldu
    if($verisay > 0){  }
    burada yaptığınız işlem yanlış.
    php de 0 ve 1 ile işlem yaparken çok dikkatli olmalısınız. Bu iki rakam boolean yani true / false olarak algılanabilir.
    Php bu kod parçasını
    if($verisay > false){  }
    olarak algılamış muhtemelen.
    0 ve 1 ile çalışırken rakam olarak çalışmak istiyorsanız denktir operatörü kullanılmalıdır yani ===
    if($verisay !== 0){  }
    yaparsanız $verisay sıfırdan farklı ise yani sizin koşulunuz sağlandıysa işlemi yaparsınız.

    İkinci bir hata da config dosyanızda var gibi, No database selected diyorsunuz yani veritabanı seçmemişsiniz.

    İyi çalışmalar.
  • 22-12-2016, 09:56:17
    #3
    Söylediğiniz gibi kodlarda bir hata yok fakat " No Database Selected " hatası alıyorsanız sql bağlantı kısımlarını tekrar gözden geçirin.
  • 23-12-2016, 19:40:37
    #4
    <?php
    session_start();
    include "config.php";
     
    $kadi = $_POST["kadi"];
    $sifre = $_POST["sifre"];
    $parola = md5($sifre);
     
    if ($kadi =="" || $sifre ==""){
       echo "bos alan bırakmayınız";
       exit;
    }
    else {
       if($kadi && $sifre){
          $_SESSION["kadi"] = $kadi;
           
          //$sorgula = mysql_query("SELECT kullanici_adi='$kadi' , sifre='$sifre' FROM uyeler") ;
    
          $sorgula = mysql_query("SELECT * FROM uyeler WHERE kullanici_adi='$kadi' AND sifre='$sifre'") ;
           
          $verisay = mysql_num_rows($sorgula);
           
          if($verisay > 0) {
              
          }else{
             echo "kullanıcı adı veya sifre yanlıs";
          }
       }
    }
     
    ?>
    SELECT kullanici_adi='$kadi' , sifre='$sifre' FROM uyeler bu SQL sorgusu yanlış. Doğrusunu yazdım. Hatayı burada yapıyorsunuz.

    İyi forumlar.
  • 23-12-2016, 22:16:30
    #5
    Üyeliği durduruldu
    Arkadaşın söylediğine ek olarak bu tarz sorgulamalarda "," yerine "and" kullanılmalıdır.