Pek çok yerde anlatılanların aksine hata göstermeyi kesinlikle kapatmayın ve @ işaretini kullanmayın. Hatayı gidermemiş sadece gizlemiş olursunuz ve uygulamaya göre bunun sonuçları çok ciddi olabilir. Log şişirmekten açık oluşturmaya kadar gidebilir. Bunun yerine hatanın nasıl oluştuğunu bulun ve ona göre bir kod oluşturun.
"Undefined index" ve "undefined variable" türü hatalar değişken tanımlanmadan kullanılmaya çağırıldığında oluşur.
Örneğin aşağıdaki kodlarda get ile gelen bir "git" sorgusu olursa bunu $git değişkenine aktarıyor ve sonrada ekrana yazıyor. "git" sorgusu olmadığında "undefined variable" hatası verecektir.
if (isset($_GET['git']))
{
$git = $_GET['git'];
}
echo $git;Bunu çözmenin birkaç yolu var, değişkeni önceden oluşturmak veya ekrana yazmadan önce kontrol etmek.
Önceden boş değişken tanımlamak:
$git = '';
if (isset($_GET['git']))
{
$git = $_GET['git'];
}
echo $git;Değişkeni kontrol etmek:
if (isset($_GET['git']))
{
$git = $_GET['git'];
}
if (isset($git))
{
echo $git;
}
Kodlar teoriktik, esas kodlara göre çok farklı çözümler üretilebilir.
"Undefined index" hatası da "undefined variable" hatasının dizi halidir, yani değişken dizi değişkendir $url['git'] gibi.
.
Bravo, çok güzel cevap yazmışsın.
Bunların hepsi birer bugdur, hatadır, düzeltilmesi gerekir. Php seni uyarıyor, @ ile sadece sessizleştirirsin, bu da yaptığı uygulama için iyi birşey değil. @ ile yaptıkların, yapacakların; Ağlayan bebeği duymamak için kulaklarını tıkamak veya ağlayan bebeğin ağzını tıkamak gibi, oysa önemli olan problemin ne olduğunu bulmak ve ortadan kaldırmak.