30 Nisan 2025 - 15:39
Sık Yapılan PHP Hataları ve Çözümleri-1 Görseli
PHP

Sık Yapılan PHP Hataları ve Çözümleri-1

Yorumlar
PHP geliştirirken bazen yaygın hatalarla karşılaşabilirsiniz. Bu hataların bazıları basit hatalar olsa da bazıları zaman kaybettiren ve geliştirme sürecinizi zorlaştıran sorunlara neden olabilir. İşte karşınızda en sık yapılan PHP hataları ve bunların çözümleri:

1. Undefined Variable Hatası

Hata: Tanımlanmamış bir değişkeni kullanmaya çalışmak.
PHP
echo $name;
Neden Olur? PHP, tanımlanmamış bir değişkeni kullanmaya çalıştığınızda hata vermez ancak 'Notice' uyarısı gösterir. Bu, değişkenin tanımlanmadan kullanıldığı anlamına gelir. Çözüm: Değişkenleri kullanmadan önce tanımladığınızdan emin olun.
PHP
$name = 'Ali';
echo $name;
Ayrıca, değişkeni kontrol etmek için isset() veya empty() fonksiyonlarını kullanabilirsiniz:
PHP
if (isset($name)) {
    echo $name;
} else {
    echo 'Değişken tanımlı değil!';
}

2. Headers Already Sent Hatası

Hata: Tarayıcıya çıktı gönderdikten sonra header() kullanmaya çalışmak.
PHP
echo 'Hoş geldiniz!';
header('Location: anasayfa.php');
Neden Olur? PHP, tarayıcıya herhangi bir çıktı gönderdikten sonra HTTP başlıklarını değiştiremez. Çözüm: header() fonksiyonunu HTML veya metin çıktısı vermeden önce kullanmalısınız:
PHP
header('Location: anasayfa.php');
exit;
echo 'Hoş geldiniz!';
Alternatif olarak ob_start() kullanarak tamponlama yapabilirsiniz:
PHP
ob_start();
echo 'Hoş geldiniz!';
header('Location: anasayfa.php');
ob_end_flush();

3. SQL Enjeksiyonuna Karşı Savunmasız Olma

Hata: Kullanıcı girdisini doğrulamadan SQL sorgusunda kullanmak.
PHP
$query = 'SELECT * FROM users WHERE username = '' . $_GET['username'] . ''';
Neden Olur? Bu tür hatalar, kullanıcının zararlı SQL sorguları enjekte etmesine izin verir. Çözüm: Daima PDO veya mysqli_real_escape_string() ile veri temizleme kullanın:
PHP
$stmt = $db->prepare('SELECT * FROM users WHERE username = ?');
$stmt->execute([$_GET['username']]);
$result = $stmt->fetch();

Benzer Yazılar

Yorumlar ()

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap