Php veri yoksa error.log'da hata verme sorunu
Kolay gelsin arkadaşlar. Php ile yaptığım sitenin anasayfasında facebook gibi sosyal medya linklerini listeletiyorum. Eğer admin panelinden facebook linkini silersem, localhost'taki error.log'da hata oluşuyor. Bu hataların oluşmaması için nasıl bir önlem almalıyım, ne yapmalıyım. Mesela denilebilir ki "if" koşulu ile eğer veri yoksa şöyle yap gibi.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Şu şekilde çözdüm. Veritabanında veriyi saydırdım. Eğer veri sıfıra eşitse aqşağıdaki gibi yaptım yok eşit değilse veriyi listelettim. Bu şekilde hata vermiyor. Teşekkür ederim.
echo "https://www.facebook.com";
Eğer PHP ile bir veri varsa o veriyi kullan, yoksa varsayılan bir değeri kullanmak istiyorsanız, isset()
veya empty()
fonksiyonları ile bir kontrol yapabilirsiniz.
İşte örnek bir kullanım:
<?php
// Admin panelinden gelen Facebook linki
$adminFacebookLink = $linkler['facebook_url'];
// Facebook linki var mı kontrolü
if (!empty($adminFacebookLink)) {
// Facebook linki varsa, görüntüle
$facebook= '<a href="' . $adminFacebookLink . '" target="_blank">Facebook</a>';
} else {
// Facebook linki yoksa, varsayılan bir değer kullanabilirsiniz
$facebook= null;
}
?>
empty()
fonksiyonu, bir değerin boş olup olmadığını kontrol eder. Bu şekilde, Facebook linki verisi varsa görüntülenir, yoksa linki yayınlamaz. Bu sayede hataların oluşmasını önleyebilirsiniz.
- Oluşan hatanın ne olduğunu bilmiyoruz.
- Anasayfadaki sosyal medya linklerinin hangi kod yapısıyla listelendiğini bilmiyoruz.
Evet, if
koşulu ile eğer veri yoksa PHP'nin olmayan değeri ekrana basmaya çalışmasını engellemek gerekir.
Örneğin aşağıdaki kod, Trying to access array offset on value of type null
şeklinde hata verebilir:
<a href="<?= $linkler["facebook"]["link"] ?>">FACEBOOK</a>
Şu şekilde kontrol edilmesi gerekir:
<?php if(isset($linkler["facebook"]["link"])) { ?>
<a href="<?= $linkler["facebook"]["link"] ?>">FACEBOOK</a>
<?php } ?>