• 01-03-2023, 17:13:39
    #1

    Hocam giriş bilgilerini yanlışta girsem doğruda girsem 0 dönüyor nedeni nedir?
  • 01-03-2023, 17:24:35
    #2
    <?php session_start(); ?>
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    ini_set('error_reporting', E_ALL ^ E_NOTICE);
    if(isset($_POST["giris"])){

    $email= $_POST["email"];
    $password= sha1(md5($_POST["password "]));
    $kontrol = $db->query("SELECT * FROM yonetici", PDO::FETCH_ASSOC);

    foreach($kontrol as $oku){
    if($email == $oku["email "] and $password ==$oku["password "])
    {
    $_SESSION["aid"]="admin";
    header("Location:../admin/index.php");
    break;
    }
    //Harici giriş
    else if($email=="info@deniz-web.com" and $sifre==sha1(md5("sifreniz")))
    {
    $_SESSION["aid"]="admin";
    header("Location:../admin/index.php");
    }
    else
    {
    echo "<script type='text/javascript'> alert('Kullanıcı Adı veya Şİfre Yanlış'); </script>";
    }
    }
    }
    ?>
  • 01-03-2023, 17:27:15
    #3
    DWYazilim adlı üyeden alıntı: mesajı görüntüle
    <?php session_start(); ?>
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    ini_set('error_reporting', E_ALL ^ E_NOTICE);
    if(isset($_POST["giris"])){

    $email= $_POST["email"];
    $password= sha1(md5($_POST["password "]));
    $kontrol = $db->query("SELECT * FROM yonetici", PDO::FETCH_ASSOC);

    foreach($kontrol as $oku){
    if($email == $oku["email "] and $password ==$oku["password "])
    {
    $_SESSION["aid"]="admin";
    header("Location:../admin/index.php");
    break;
    }
    //Harici giriş
    else if($email=="info@deniz-web.com" and $sifre==sha1(md5("sifreniz")))
    {
    $_SESSION["aid"]="admin";
    header("Location:../admin/index.php");
    }
    else
    {
    echo "<script type='text/javascript'> alert('Kullanıcı Adı veya Şİfre Yanlış'); </script>";
    }
    }
    }
    ?>
    hocam ben kodumadaki hatayı sormustum ama sagolun hinede attıgınız kod karısık geldi bana kullanmıyacagım kb
  • 01-03-2023, 17:31:12
    #4
    PDO bağlantı ayarlarına PDO::MYSQL_ATTR_FOUND_ROWS parametresini eklemelisiniz. Rowcount sadece etkilenen sayıyı döndürür.

    Örnek

    $db = new PDO('mysql:dbname=mydatabase;host=myhost', 'username', 'password', array(    PDO::MYSQL_ATTR_FOUND_ROWS => true
    ));
  • 01-03-2023, 17:37:06
    #5
    Perfection adlı üyeden alıntı: mesajı görüntüle
    PDO bağlantı ayarlarına PDO::MYSQL_ATTR_FOUND_ROWS parametresini eklemelisiniz. Rowcount sadece etkilenen sayıyı döndürür.

    Örnek

    $db = new PDO('mysql:dbname=mydatabase;host=myhost', 'username', 'password', array(    PDO::MYSQL_ATTR_FOUND_ROWS => true
    ));
    olmadı ya :/
  • 01-03-2023, 17:39:22
    #6
    en4loss adlı üyeden alıntı: mesajı görüntüle
    olmadı ya :/
    Kod çalışmakta ancak kodlarınızı resim ile değil buraya kopyalarsanız son verdiğim örneği dahil ettiğiniz haliyle daha iyi yardımcı olabiliriz. Ayrıca şifre belkide md5 halinde veritabanında tutuluyor.
  • 01-03-2023, 17:40:43
    #7
    Perfection adlı üyeden alıntı: mesajı görüntüle
    Kod çalışmakta ancak kodlarınızı resim ile değil buraya kopyalarsanız son verdiğim örneği dahil ettiğiniz haliyle daha iyi yardımcı olabiliriz. Ayrıca şifre belkide md5 halinde veritabanında tutuluyor.
    index.php
    require_once("./inc/header.php");
    session_start();
    $alert = "";
    if (isset($_POST['login'])) {
        $email = $_POST['email'];
        $password = $_POST['password'];
    
        $login = $db->prepare("SELECT * FROM yonetici WHERE email = ? AND password = ?");
        $login->execute(
            array(
                $email,
                $password
            )
        );
        $admin = $login->rowCount();
        echo $admin;
        if ($admin > 0) {
            $_SESSION['login'] = $_POST['login'];
            $alert = '<div class="alert alert-success text-center" role="alert">Giriş Başarılı!</div>';
        } else {
            $alert = '<div class="alert alert-danger text-center" role="alert">Giriş Başarısız!</div>';
        }
    }
    conn.php
    $host = "localhost";
    $dbname = "portfolio";
    $charset = "utf8";
    $root = "root";
    $password = "";
    try {
        $db = new PDO("mysql:host=$host;dbname=$dbname;charset=$charset;", $root, $password, array(
                PDO::MYSQL_ATTR_FOUND_ROWS => true
        ));
    } catch (PDOExeption $error) {
        echo $error->getMessage();
    }
  • 01-03-2023, 17:52:49
    #8
    RowCount yerine;
    $admin= $login->fetchColumn();
    Bunu deneyin.
  • 01-03-2023, 17:55:18
    #9
    HSNv2 adlı üyeden alıntı: mesajı görüntüle
    RowCount yerine;
    $admin= $login->fetchColumn();
    Bunu deneyin.
    değişen birşey yok ://