• 18-03-2007, 01:15:48
    #1
    arkadaşlar php de kullanıcı girişi yapıyorum amma velakin bazı hatalar çıkıyor bi türlü veri tabanından kullanıcı adı ve şifreyi kontrol ettirip giriş yaptıramıyorum.

    <?php
    $post_kullanici=$_POST["kullanici"];
    $post_pass=$_POST["pass"];
    $baglanti=mysql_connect("localhost","dbadi","dbsifre");
    mysql_select_db("dbadi",$baglanti);
    $sorgu=mysql_query("select * from kullanicilar",$baglanti);
    while ($sonuc=mysql_fetch_array($sorgu))
    {
    if ($post_kullanici=$sonuc['kullanici'] && $post_pass=$sonuc['pass'])
    {
    $_SESSION["oturum"]="acik";
    $_SESSION["kullanici"]=$sonuc['kullanici'];
    ?>
    
    
    Bu kısım site html kodları
    
    
    <?php
    }
    else
    {
    include ("parolayanlis.php");
    }
    }
    ?>
    sizce nerede hata yapıyorum?
    kısaca bir veri tabanından veri çekip döngüde nasıl okutacağım ve if ler ile kontrol edeceğim bunun kod mantığını verirseniz ben hallederim..
    yardım edenlere şimdiden teşekkürler.
  • 18-03-2007, 01:21:12
    #2
    Misafir
    hatayı yazsan iyi olur.
  • 18-03-2007, 01:27:28
    #3
    hata şu:

    textlerden birini boş bırakırsam ekran gri oluyor ve hiç birşey yazmıyor...
    2 side dolu olunca kullanıcıadı ve şifresi doğru veya değil her durumda yanlış girildi sayfasını include ediyor..

    benim öğrenmek istediğim, veritabanından tabanından kullanıcı adı ve şifreyi bir döngü ile okuyup formdan gelen veri ile karşılaştırıp ona göre işlem yapmak...

    ilginiz için teşekkürler.
  • 18-03-2007, 14:28:32
    #4
    Misafir
    sana mantıgı anlatayım post veya getten aldığın kullanıcı adını

    select * from kullanicilar where kulladi= posttan gelen değer

    while ile döndürmene gerek yok aynı isimle bir kullanıcı olacağına göre

    daha sonra sqlden bulduğun kullanıcı adınınn şifresi ile posttan gelen şifreyi karşılaştırıyosun doğru ise giriş yapıyor bu kadar.
  • 18-03-2007, 14:35:59
    #5
    ilginize teşekkür ederim hemen deniyorum ama döngü olmadan db den sadece ilk kayıtı okumazmı...??
  • 18-03-2007, 14:42:23
    #6
    Misafir
    zaten tek kayıt gelmesi lazım aynı kullanıcı adıyla bir olucak çünkü mesela r10a bir dmrL diye kimse üye olabilirmi hayır o sql bir kayıt dönücek öyleyse
  • 18-03-2007, 15:22:22
    #7
    Alıntı
    $sorgu=mysql_query("select * from kullanicilar",$baglanti);
    $sonuc=mysql_fetch_array($sorgu)


    if ($sonuc['kullanici'] = $post_kullanici && $sonuc['pass'] = $post_pass) {
    diğer kodlar
    }
    else
    {
    kodlar
    }

    yukarıda kırmızı ile gösterdiğim satırda parse hatası veriyor sebebini anlayamadım bir yazım yanlışıda yok gibi geliyor bana bide siz göz atın.

    hata:
    Alıntı
    Parse error: parse error in c:\apache\htdocs\***\***\***.php on line 52
  • 18-03-2007, 15:34:52
    #8
    $veriyolum  = mysql_connect($dbhostx,$dbuserx, $dbsifrex);
    mysql_select_db($databasex,$veriyolum);
    $sorguisim  = mysql_query("SELECT sifre FROM $tabloisimx where kullaniciadi='$isim' ", $veriyolum);
    $sorgusifre = mysql_query("SELECT sifre FROM $tabloisimx where sifre='$sifre' ", $veriyolum);
    $isimkont   = mysql_num_rows($sorguisim);
    $sifrekont  = mysql_num_rows($sorgusifre);
    if($isimkont >0 and $sifrekont > 0)
    {
    echo"giriş başarılı";}
    else{
    echo"yanlış";
    }
  • 18-03-2007, 15:52:20
    #9
    STI adlı üyeden alıntı: mesajı görüntüle
    $veriyolum  = mysql_connect($dbhostx,$dbuserx, $dbsifrex);
    mysql_select_db($databasex,$veriyolum);
    $sorguisim  = mysql_query("SELECT sifre FROM $tabloisimx where kullaniciadi='$isim' ", $veriyolum);
    $sorgusifre = mysql_query("SELECT sifre FROM $tabloisimx where sifre='$sifre' ", $veriyolum);
    $isimkont   = mysql_num_rows($sorguisim);
    $sifrekont  = mysql_num_rows($sorgusifre);
    if($isimkont >0 and $sifrekont > 0)
    {
    echo"giriş başarılı";}
    else{
    echo"yanlış";
    }

    istediğim cevap buydu yaptım yardım eden HERKESE teşekkürler.

    yalnız bunun güvenlik açısından bir sorunu çıkmaz demi....
    bu yöntem ile yaptım.