DemirayBilisim adlı üyeden alıntı: mesajı görüntüle
Daha önceleri sıkça kullandığım giriş kısmını anlatayım.

İlk olarak PHPMyAdmin kısmında bir db oluştur. DB bağlantısını gerçekleştir.

Sonrasında tbladmin adında bir tablo oluştur ve üç kolon olsun.

Sırasıyla;

id
klnyonetici
klnsifre

Sonrasında giriş için index.php dosyanı aç

en üst kısma

ob_start();
session_start();
include 'baglanti.php';

# Giriş Kontrolü
if ( isset($_SESSION["yonetici"]) )
{
    header("Location: panel");
    return;
}
kodunu yapıştır.

Ardından temel html etiketlerini oluştur.

Body kısmında ise

Bir form oluştur. İçinde iki input bir submit butonu olsun.

İnputların namelerini karışıklık olmasın diye

klnyonetici ve klnsifre yap. Submit butonun name ise submit yap.

Daha doğrusu ben sana index.php'de yer alan kodları verip tek tek anlatayım.

                    # POST EDİLEN GİRİŞ BİLGİLERİ
                    if( $_POST )
                    {
                      # Yönetici Bilgi Değişkenleri
                      $klnYonetici = $_POST["klnYonetici"];
                      $klnSifre    = $_POST["klnSifre"];

                      # Veritabanı Sorgusu
                      $sorgu = $db -> query("SELECT * FROM tblAdmin WHERE klnYonetici = '$klnYonetici' && klnSifre = '$klnSifre'", PDO::FETCH_ASSOC);

                      # IF TRUE
                      if( $sorgu -> rowCount() )
                      {
                        # SESSION Değişkenleri
                        $_SESSION["yonetici"] = true; // Session Değeri
                        $_SESSION["klnYonetici"] = $klnYonetici;
                        $_SESSION["klnSifre"] = $klnSifre;

                        # Giriş başarılı ise panele yönlendir.
                        header("Location: ../panel");
                      }else{
                        # Giriş başarılı değilse hata kodu ver.
                        header("Location: ../failedLogin.php");
                      }

                    }else{
                      # Giriş Ekranı
                      echo
                      '
                      <form method="POST" class="user">
                        <div class="form-group">
                          <input type="text" required name="klnYonetici" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Yönetici Adını Giriniz.">
                        </div>
                        <div class="form-group">
                          <input type="password" required name="klnSifre" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password">
                        </div>

                        <input type="submit" class="btn btn-primary btn-user btn-block" value="Giriş Yap">
                      </form>                      
                      ';
                    }
Oluşturacağın form dosyasının metodu POST olacak.

Yönetici bilgilerini değişkenlere atıyorsun. Bunu input verilerinden gelen POST verileri ile sağlıyorsun.

Ardından ilk veritabanı sorgunda aldığın değişkenleri veritabanındaki tablo ile eşleştiriyorsun.

Sonrasında sorgunun true yani bir değer taşıdığı eşleşirse SESSION değerlerini atamaya başlıyorsun.

Session değerlerinde senin anahtar kelimen yonetici (bu anahtar kelime ile diğer sayfalarda giriş olup olmayacağını sorguluyorsun)

Ardından else kısmında ise formun kodlarını yazıyorsun. Bu şekilde basitçe bir admin üye girişinin kontrolünü sağlayıp panel ekranını gösterebilirsin.

login.php içeriğini Böyle yaptım ;
<?php
ob_start();
session_start();
include 'config/config.php';
 
# Giriş Kontrolü
if ( isset($_SESSION["yonetici"]) )
{
    header("Location: panel");
    return;
}
# POST EDİLEN GİRİŞ BİLGİLERİ
if( $_POST )
{
  # Yönetici Bilgi Değişkenleri
  $klnYonetici = $_POST["klnYonetici"];
  $klnSifre    = $_POST["klnSifre"];
 
  # Veritabanı Sorgusu
  $sorgu = $db -> query("SELECT * FROM tblAdmin WHERE klnYonetici = '$klnYonetici' && klnSifre = '$klnSifre'", PDO::FETCH_ASSOC);
 
  # IF TRUE
  if( $sorgu -> rowCount() )
  {
    # SESSION Değişkenleri
    $_SESSION["yonetici"] = true; // Session Değeri
    $_SESSION["klnYonetici"] = $klnYonetici;
    $_SESSION["klnSifre"] = $klnSifre;
 
    # Giriş başarılı ise panele yönlendir.
    header("Location: ../panel");
  }else{
    # Giriş başarılı değilse hata kodu ver.
    header("Location: ../failedLogin.php");
  }
 
}else{
  # Giriş Ekranı
  echo
  '
  <form method="POST" class="user">
    <div class="form-group">
      <input type="text" required name="klnYonetici" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Yönetici Adını Giriniz.">
    </div>
    <div class="form-group">
      <input type="password" required name="klnSifre" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password">
    </div>
 
    <input type="submit" class="btn btn-primary btn-user btn-block" value="Giriş Yap">
  </form>                      
  ';
}
?>

Mysql ise böyle ;



Ekle ile hesap oluşturdum giriş yaparken bu hatayla karşılaşıyorum ;

Warning: Undefined variable $db in xampphtdocsbloglogin.php on line 22

Fatal error: Uncaught Error: Call to a member function query() on null in xampphtdocsbloglogin.php:22 Stack trace: #0 {main} thrown in xampphtdocsbloglogin.php on line 22

Config Php İçeriği ;
<?php
$siteadresi = "http://localhost/blog";
try {
$vt = new PDO("mysql:host=localhost;dbname=blog;charset=utf8;","root","");
}catch (PDOExeption $hata) {
echo $hata->getMessage();
}
?>
Yardım Ederseniz Mutlu olurum