• 27-01-2021, 23:05:45
    #10
    Vindicta adlı üyeden alıntı: mesajı görüntüle
    mysql_connect php 7 ve üzerinde çalışmayacaktır, kodlarınız oldukça eski ve sql injectiona müsait durumda. Fonkiyonunuzu şu şekilde değiştirmeyi deneyin;
    function oturumkontrolana(){
         global $database; // database adlı değişkende pdo bağlantısı yaptığınızı varsayıyorum
         if ( !isset( $_SESSION['ogrencimail'] ) || !isset( $_SESSION['ogrencisifre'] ) ) return false;
         $ogrencimail = $_SESSION['ogrencimail'];
         $ogrencisifre = $_SESSION['ogrencisifre'];
         $oturumkontrol = $database->prepare("SELECT COUNT(*) FROM ogrenci WHERE ogrencimail = :mail AND ogrencisifre = :password");
         $oturumkontrol->bindValue("mail", $ogrencimail, PDO::PARAM_STR);
         $oturumkontrol->bindValue("password", $ogrencisifre, PDO::PARAM_STR);
         $oturumkontrol->execute();
         $durum = $oturumkontrol->fetch()[0];
         if ( $durum ) return true; return false;
     }
    Sonrasında oturumkontrolana(); şeklinde kullanmak yerine

    if ( oturumkontrolana() ) {
      header('Location: giris.php', true, 303);
      exit;
    }
    Tarzında bir kullanım yapmanızı tavsiye ederim.
    hocam merhaba



    if ( oturumkontrolana() ) {
    header('Location: giris.php', true, 303);
    exit;
    }

    bunu index.php ye mi ekliyim sayfa başlarına yani
  • 28-01-2021, 02:06:09
    #11
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ahmetderyalar adlı üyeden alıntı: mesajı görüntüle
    hocam merhaba



    if ( oturumkontrolana() ) {
    header('Location: giris.php', true, 303);
    exit;
    }

    bunu index.php ye mi ekliyim sayfa başlarına yani
    Yapınızı bozmak istemiyoranız direkt şu şekilde fonksiyonunuzu güncelleyebilirsiniz:

    try {
         $database = new PDO("mysql:host=localhost;dbname=DBADI;charset=utf8", "USER","PASSWORD");
    } catch(PDOException $e) {
         exit($e->getMessage());
    }
    
    function oturumkontrolana(){
         global $database;
         $isLogin = true;
         if ( !isset( $_SESSION['ogrencimail'] ) || !isset( $_SESSION['ogrencisifre'] ) ) $isLogin = false;
         $ogrencimail = $_SESSION['ogrencimail'];
         $ogrencisifre = $_SESSION['ogrencisifre'];
         $oturumkontrol = $database->prepare("SELECT COUNT(*) FROM ogrenci WHERE ogrencimail = :mail AND ogrencisifre = :password");
         $oturumkontrol->bindValue("mail", $ogrencimail, PDO::PARAM_STR);
         $oturumkontrol->bindValue("password", $ogrencisifre, PDO::PARAM_STR);
         $oturumkontrol->execute();
         $durum = $oturumkontrol->fetch()[0];
         if ( !$durum || !$isLogin ) {
              header('Location: giris.php', true, 303);
              exit;
         }
         return $isLogin;
     }