v2.5.2
Giriş yap

login.php'de if metodu tam olarak çalışmıyor

erdem
2,039 defa görüntülendi

Merhaba

class.crud.php


<?php 
session_start();
require_once 'dbconfig.php';


class crud
{
	private $db;
	private $dbhost=DBHOST;
	private $dbuser=DBUSER;
	private $dbpass=DBPWD;
	private $dbname=DBNAME;
	
	function __construct()
	{ 
		try {
			
			$this->db=new PDO('mysql:host='.$this->dbhost.';dbname'.$this->dbname.';charset=utf8',$this->dbuser,$this->dbpass);
			
			// echo "Bağlantı Başarılı";

		} catch (Exception $e) {
			
			die("Bağlantı başarısız:".$e->getMessage());
		}
	}


	public function adminLogin($admin_username,$admin_pass)
	{

		try {

			$stmt=$this->db->prepare("SELECT * FROM admin WHERE admin_username=? AND admin_pass=?");
			$stmt->execute([$admin_username,md5($admin_pass)]);

			if ($stmt->rowCount()==1) {

				$row=$stmt->fetch(PDO::FETCH_ASSOC);
				
				$_SESSION["admin"]=[
					                "admin_username"    => $admin_username,
						            "admin_namesurname" => $row['admin_namesurname'],
						            "admin_file"        => $row['admin_file'],
						            "admin_id"          => $row['admin_id']
						           ];

			    return ['status' => TRUE];

			} else {

				return ['status' => FALSE];
			}
			
		} catch (Exception $e) {

			return ['status' => FALSE, 'error' => $e->getMessage()];
			
		}

	}
}

?>

login.php


<?php 
require_once 'netting/class.crud.php';
$db=new crud();
?>
<!DOCTYPE html>
.
.
.

<div class="login-box-body">
      <p class="login-box-msg">Giriş yapmak için bilgilerinizi girin</p>



      <?php 

      if (isset($_POST['admin_login'])) {

        $sonuc=$db->adminLogin(htmlspecialchars($_POST['admin_username']),htmlspecialchars($_POST['admin_pass']));

        if ($sonuc['status']) {

          header("Location:index.php");
          exit();

        } else {?>

          <div class="alert alert-danger">
          Bilgilerinizi kontrol edin...
          </div>
        
        <?php }

      }

      ?>

      <form action="" method="post">
        <div class="form-group has-feedback">
          <input type="text" class="form-control" placeholder="Kullanıcı adı" name="admin_username">
          <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
        </div>
        <div class="form-group has-feedback">
          <input type="password" class="form-control" placeholder="Şifre" name="admin_pass">
          <span class="glyphicon glyphicon-lock form-control-feedback"></span>
        </div>
        <div class="row">
          <div  class="col-xs-8">
            <div style="margin-left: 20px;" class="checkbox icheck">
              <label>
                <input type="checkbox"> Beni hatırla
              </label>
            </div>
          </div>
          <!-- /.col -->
          <div class="col-xs-4">
            <button type="submit" name="admin_login" class="btn btn-primary btn-block btn-flat">Giriş yap</button>
          </div>
          <!-- /.col -->
        </div>
      </form>
   
    </div>
    <!-- /.login-box-body -->
  

login.php sayfasında formdaki name lerle user pass yazıp index.php yönlendirmesini istiyorum
fakat id şifreyi yanlış yazsamda doğru yazsamda daima "Bilgilerinizi kontrol edin..." alerti geliyor
anladığım kadarıyla login.php'deki if ($sonuc['status']) de bir problem var daima else oluyor
buna bir çözüm bulabilirseniz çok sevinirim.

erdem
1595 gün önce

Malesef dediklerini yapmama rağmen değişen birşey yok bence hata status'ta direk else komutu işliyor

if ($sonuc['status']) {

      header("Location:index.php");
      exit();

    } else {?>

      <div class="alert alert-danger">
      Bilgilerinizi kontrol edin...
      </div>
    
    <?php }