• 03-03-2022, 22:31:06
    #1
    Üyeliği durduruldu
    aşağıdaki kodlar her sayfasını hazırlamış olduğum kullanıcı girişi sayfasının login.php kodları burdaki "kadi" "sifre" kısımlarını veritabanından kontrol etmesi için veritabanında nasıl bir tablo oluşturmalıyım
    <?php 
     
    include("ayar.php");
    ob_start();
    session_start();
     
    $kadi = $_POST['kadi'];
    $sifre = $_POST['sifre'];
     
    $sql_check = mysql_query("select * from uyeler where username='".$kadi."' and password='".$sifre."' ") or die(mysql_error());
     
    if(mysql_num_rows($sql_check))  {
        $_SESSION["login"] = "true";
        $_SESSION["user"] = $kadi;
        $_SESSION["pass"] = $sifre;
        header("Location:admin.php");
    }
    else {
        if($kadi=="" or $sifre=="") {
            echo "<center>Lutfen kullanici adi ya da sifreyi bos birakmayiniz..! <a href=javascript:history.back(-1)>Geri Don</a></center>";
        }
        else {
            echo "<center>Kullanici Adi/Sifre Yanlis.<br><a href=javascript:history.back(-1)>Geri Don</a></center>";
        }
    }
     
    ob_end_flush();
    ?>
  • 03-03-2022, 22:39:41
    #2
    Üyeliği durduruldu
    oguzhanss adlı üyeden alıntı: mesajı görüntüle
    Post edilen kullanıcı adı ve şifreyi tablonuzda mysqli_num_rows metodunu kullanarak sayabilirsiniz

    tabloda kullanıcı adı abc ve şifresi 123 olan veri varsa yukarda belirttiğim method 1 döndürecektir
    1 varsa demekki kullanıcı adı şifre mevcuttur
    Ben bu şekilde yapıyorum postlara filtre eklemeyi de unutmayın

    bkz: https://www.w3schools.com/php/func_mysqli_num_rows.asp
    hocam ödevim için sıfırdan yapıyorum yani hali hazırda bir veritabanı yok yani veri tabanına tablo eklemeyi biliyorum ama hangi bölüme değişken adı yazılır hangisine kadindaki veri yazılır hangisine şifre yazılır bilmiyorum
  • 03-03-2022, 22:44:14
    #3
    vedatdemirkan adlı üyeden alıntı: mesajı görüntüle
    hocam ödevim için sıfırdan yapıyorum yani hali hazırda bir veritabanı yok yani veri tabanına tablo eklemeyi biliyorum ama hangi bölüme değişken adı yazılır hangisine kadindaki veri yazılır hangisine şifre yazılır bilmiyorum

    su sekilde deneyin hocam
  • 03-03-2022, 22:45:35
    #4
    phpmyadminden sql sekmesine git ve bu kodları yapıştır
    CREATE TABLE uyeler (
      id INT PRIMARY KEY,
      username VARCHAR(20),
      password VARCHAR(30)
    );
  • 03-03-2022, 22:46:13
    #5
    Üyeliği durduruldu
    oguzhanss adlı üyeden alıntı: mesajı görüntüle

    su sekilde deneyin hocam
    çok teşekkürler hocam anlaşılan bu ödevde takıldığım çok nokta olacak takıldığım yerleri size sorabilirmiyim
  • 03-03-2022, 22:48:19
    #6
    Üyeliği durduruldu
    Abdullahx adlı üyeden alıntı: mesajı görüntüle
    phpmyadminden sql sekmesine git ve bu kodları yapıştır
    CREATE TABLE uyeler (
      id INT PRIMARY KEY,
      username VARCHAR(20),
      password VARCHAR(30)
    );
    username ve password yazan kısımları benim kodlarda tanımladığım şekilde yazmalıyım değilmi kadi ve sifre olarak
  • 03-03-2022, 22:54:19
    #7
    vedatdemirkan adlı üyeden alıntı: mesajı görüntüle
    çok teşekkürler hocam anlaşılan bu ödevde takıldığım çok nokta olacak takıldığım yerleri size sorabilirmiyim
    pm den yazabilirsiniz hocam
  • 03-03-2022, 22:54:23
    #8
    Yo hayır, olması gerektiği gibi yazdım. $kadi ve $sifre kendinizin belirlediği tamamen rastgele bir değişken adı, $elma ile $armut da olabilirdi. $_POST['kadi'] html formunuzdan gelen ,name değeri kadi olan input için yazıldı. SQL sorgusundaki username ve password yazıları veri tabanı tablosundaki sütunların adı => select * from uyeler where username='".$kadi."' and password='".$sifre."'
  • 03-03-2022, 22:58:30
    #9
    Post ettiğin verileri filtrelemeden eklersen nur topu gibi SQL injection açıklarin olur

    Bir tavsiye daha pdo kullan MySQL query yaparken çoğu sunucuda bu kodlar çalışmayacaktır.
    • Abdullahx
    Abdullahx bunu beğendi.
    1 kişi bunu beğendi.