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

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

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.

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.

$name = "Ali";
echo $name;

Ayrıca, değişkeni kontrol etmek için isset() veya empty() fonksiyonlarını kullanabilirsiniz:

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.

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:

header("Location: anasayfa.php");
exit;
echo "Hoş geldiniz!";

Alternatif olarak ob_start() kullanarak tamponlama yapabilirsiniz:

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.

$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:

$stmt = $db->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$_GET['username']]);
$result = $stmt->fetch();

Yorum gönder

This site uses Akismet to reduce spam. Learn how your comment data is processed.