Bakın.. İşin en güzelini size anlatayım. Tüm bu kodları silin atın bi kenara hatta üzerine kış aylarından kalma peçetelerinizi de atın. Olayın aslı, bu tür parametre gönderme işlemleri aslında oldukça yersiz ve kafa karışıklığına, zaman zaman hatalara yol açabiliyor; tıpkı sizde olduğu gibi. Olayı biraz daha ilerletip dizilere entegre ederek yapmak istediğiniz şeyi yapalım. Tarifi veriyorum
Hali hazırda dizilerle bir yapı kurabilmek için yine if else koşullarını kullanacaksınız. Varsayıyorum ki bir tane controller dosyanız var ve view kısmındaki aksiyonlarınızı buradan kontrol ediyorsunuz. True - false ifadelerini geri döndürmek için link üstünden parametre verip view kısmında yakalayıp, hatayı bastırmanıza gerek yok.
Mesela veritabanına bişeyler kaydediceksiniz. Sql ifadeleri vs. her şey tamam. Bunlardan sonra bir result kısmı olması gerekir (çoğu zaman hata vermez). Örnek olarak:
$query = $db->prepare('UPDATE menu SET menu_title = :menu_title, menu_content = :menu_content WHERE menu_id= :id');
$result = $query->execute([
'menu_title' => $menu_title,
'menu_content' => json_encode($menu),
'id' => $id
]);
if ($result) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
} else {
$error = 'Bir sorun oluştu ve menü güncellenemedi!';
}Yukarıda veritabanına bir veri ekleniyor. Derleniyor toplanıyor gönderiliyor vs. Daha sonrasında son değişkeni if(x) içine alıyoruz. Daha sonrasında if altına istediğin herhangi bir string ifade yazıp aşağıya gösterdiğim gibi bir değişken tanımlıyoruz. Eğer kod hataya düşerse bunun view kısmında bir alertin içine <?=$error?> yazıp hatamızı bastırıyoruz. Eğer $error diye bir şey yoksa zaten kod çalışmış olacağı için koşullu ifadenin bir kısmına da onay ifadesini yazarsan işi çözersin.
Kolay gelsin
Ek 1: İlk yazmaya başlarken dizilerden bahsettim fakat sona doğru tekrar silip biraz basitleştirdim. İşler tamamen kontrolden çıkmasın