• 11-06-2020, 18:53:29
    #1
    Merhaba, basit bi hatam var ama 1 saattir bulamadım. Basit bir kullanıcı girişi yapmak istiyorum veritabanı kontrolü ile. yanlış da girsem doğru da girsem else bloğuna düşüyor. yardımcı olabilecek var mı acaba?

    form bölümü;
          <form action="islem.php" method="post">
            <input type="text" class="fadeIn second" name="giris_id" placeholder="Kullanıcı Adı">
            <input type="text" class="fadeIn third" name="giris_sifre" placeholder="Şifre">
            <input type="submit" class="fadeIn fourth" value="Giriş" name="giris">
          </form>
    islem.php bölümü;
      if (isset($_POST["giris"])) {
          $id = $_POST["giris_id"];
          $sifre = $_POST["giris_sifre"];
        $sorgu = $db->prepare("SELECT * FROM uyeler where UyeGiris=$id and UyeSifre=$sifre");
        $kayit = $sorgu->fetch(PDO::FETCH_ASSOC);
        $say = $sorgu->rowCount();
        if ($say>0) {
        $_SESSION['UyeGiris'] = $kayit['UyeGiris'];
        Header("Location:main.php");
        
        }else{
        
        Header("Location:index.php?hata=yanlis");
        }
        }
  • 11-06-2020, 18:58:14
    #2
    Alttaki kapanış } bir tanesini else nin üstüne alın.
  • 11-06-2020, 18:58:26
    #3
    islem.php nin içinde neler var hocam orayıda atsaymışşsınız. birde spagetti tarzında yazmak yerine mvc yapısında çalışmayı deneyin hocam projeleriniz daha düzenli ve okunabilir olur
  • 11-06-2020, 19:01:44
    #4
    Böyle deneyin,

    if (isset($_POST["giris"])) {
    $id = $_POST["giris_id"];
    $sifre = $_POST["giris_sifre"];
    $sorgu = $db->prepare("SELECT * FROM uyeler where UyeGiris=:id and UyeSifre=:sifre");
    $sorgu->execute(['id' => $id, 'sifre' => $sifre]);
    $kayit = $sorgu->fetch(PDO::FETCH_ASSOC);
    $say = $sorgu->rowCount();
    if ($say) {
    $_SESSION['UyeGiris'] = $kayit['UyeGiris'];
    Header("Location:main.php");
    
    }else{
    
    Header("Location:index.php?hata=yanlis");
    }
    }
    Olmazsa böyle,

    if (isset($_POST["giris"])) {
    $id = $_POST["giris_id"];
    $sifre = $_POST["giris_sifre"];
    $sorgu = $db->prepare("SELECT * FROM uyeler where UyeGiris=:id and UyeSifre=:sifre");
    $sorgu->execute(['id' => $id, 'sifre' => $sifre]);
    $kayit = $sorgu->fetch(PDO::FETCH_ASSOC);
    $say = $sorgu->rowCount();
    if ($say) {
    $_SESSION['UyeGiris'] = $id;
    Header("Location:main.php");
    
    }else{
    
    Header("Location:index.php?hata=yanlis");
    }
      }
  • 11-06-2020, 19:03:06
    #5
    $sorgu = $db->prepare("SELECT * FROM uyeler where UyeGiris='$id' and UyeSifre='$sifre'");
    Şöyle dener misiniz?
  • 11-06-2020, 19:06:11
    #6
    webtroloji adlı üyeden alıntı: mesajı görüntüle
    Böyle deneyin,

    if (isset($_POST["giris"])) {
    $id = $_POST["giris_id"];
    $sifre = $_POST["giris_sifre"];
    $sorgu = $db->prepare("SELECT * FROM uyeler where UyeGiris=:id and UyeSifre=:sifre");
    $sorgu->execute(['id' => $id, 'sifre' => $sifre]);
    $kayit = $sorgu->fetch(PDO::FETCH_ASSOC);
    $say = $sorgu->rowCount();
    if ($say) {
    $_SESSION['UyeGiris'] = $kayit['UyeGiris'];
    Header("Location:main.php");
    
    }else{
    
    Header("Location:index.php?hata=yanlis");
    }
    }
    Olmazsa böyle,

    if (isset($_POST["giris"])) {
    $id = $_POST["giris_id"];
    $sifre = $_POST["giris_sifre"];
    $sorgu = $db->prepare("SELECT * FROM uyeler where UyeGiris=:id and UyeSifre=:sifre");
    $sorgu->execute(['id' => $id, 'sifre' => $sifre]);
    $kayit = $sorgu->fetch(PDO::FETCH_ASSOC);
    $say = $sorgu->rowCount();
    if ($say) {
    $_SESSION['UyeGiris'] = $id;
    Header("Location:main.php");
    
    }else{
    
    Header("Location:index.php?hata=yanlis");
    }
      }

    ilk verdiğiniz oldu çok teşekkür ederim. yardımcı olan herkese tekrardan çok teşekkürler sorunum çözüldü. sorgu kısmında düzgün eşitleyememişim sanırım.