v2.5.2
Giriş yap

Php Trying to access array offset on value of type null

yazilimyolcusu
183 defa görüntülendi

Giriş işlemleri yapmaya çalışıyorum ama aşağıdaki hatayı alıyorum. Yardım edebilirseniz sevinirim.

"Trying to access array offset on value of type null in"

if($_POST) {
    $kullanici_adi_giris      = trim(strip_tags($_POST['kullanici_adi_giris']));
    $kullanici_sifresi_giris  = trim(strip_tags($_POST['kullanici_sifresi_giris']));

    $girissorgusu  = "SELECT * FROM kullanicilar WHERE kullanicilar_kullaniciadi = '$kullanici_adi_giris' AND kullanicilar_sifre = '$kullanici_sifresi_giris'";
    $girissorgu    = mysqli_query($db, $girissorgusu);
    $sonuc = mysqli_fetch_assoc($girissorgu);
     
    if (($sonuc['kullanicilar_kullaniciadi'] == $kullanici_adi_giris) and ($sonuc['kullanicilar_sifre'] == $kullanici_sifresi_giris)) {
        $_SESSION["admin"] = $sonuc;
    } else {
        echo "Giriş Başarısız";
    }
}
database
307 gün önce

İlk önce mysqli modülünü kullanmanı önermem, PDO ile örnek göstereceğim.

$db = new PDO(...);
if(count($_POST)) {
    // pdo olduğu için artık trimlemeye veya strip_tags atmaya gerek yok.
    $kullanici_adi_giris      = $_POST['kullanici_adi'];
    $kullanici_sifresi_giris  = $_POST['kullanici_sifresi_giris'];
        
    $login = $db->prepare('SELECT id FROM kullanicilar WHERE kullanicilar_kullaniciadi = :kullanici_adi AND kullanicilar_sifre = :sifre');
    $login->execute(['kullanici_adi' => $kullanici_adi_giris, 'sifre' => $kullanici_sifresi_giris]);
    $user = $login->fetch(PDO::FETCH_ASSOC);
    
    if(!isset($user['id'])) die('Giriş başarısız.');

    $_SESSION["user"] = $user['id'];
    echo "Giriş başarılı.";
}

Ayrıca giriş sayfasının aksiyon sayfasını ayırmanı tavsiye ederim.