Aynı değildir. isset ile değişken tanımlanmışsa şart sağlanır. Değişkenin değeri boş olsa bile true döner.
@ işareti ile kullandığımızda değişkenin hem tanımlanmış olması gerekiyor hemde değerinin boş olmaması gerekiyor.
$a = '';
if(isset($a))
{
echo 'isset = true';
}
else
{
echo 'isset = false';
}
if(@$a)
{
echo '@ = true';
}
else
{
echo '@ = false';
}Bu örneği çalıştırırsanız farkı anlayabilirsiniz.
$a = ''; dediğiniz değer null değer değil. Bahsi geçen konudaki olay array içinde tanımlı olmayan / varolmayan bir index. Bu yüzden isset() ile @ aynı sonucu döndürecek.
Neden benim yazımı alıntı yaparak cevap verdiniz anlamadım tam olarak ama @ koyduğumda sorun çözülmüyor zaten. Onu denedikten sonra zaten konuya ilk mesajımı yazdım. Neden düzelmesi lazım ya da neden düzelmedi ben bilemem tabi ama sorun @koysam da devam ediyor
Sadece olayı yanlış anlaşılmasın diye. hatayı gizlemek deyince okuyan kişilerde kuşku yaratabiliyor. (:
Sorunuz içinde çalışan kodları yada hangi URL'den girdiğinizi görmeden ben bir şey diyemem.