Doğru Cevap
-
Altta kullanırken köşeli parantezlerden kurtulmak istiyorsan,
if (isset($_GET['action'])) {$_GET['action'] = $action; }
yerineif (isset($_GET['action'])) {$action = $_GET['action']}
kullanman gerekir. Aynı şeyi $islem icin de yapmissin. Yani $_GET['action']ı almıyorsun, üzerine yazıyorsun..
Ayrıca, daha temiz bir eylem için $action ve $eylem diye iki ayrı kontrol mekanizman olmaMAsı gerekir.
Cevaplar
-
$_GET['action']=$action; burada ne yapmak istediğini anlayamadım :S
ekleme işlemlerini bu kadar basitleştirmeyin
- GET ile aldığınız verileri mutlaka ve mutlaka zararlı kodlar olabilme ihtimali içn süzünif(isset($_GET['action'])){}
yerineif($_GET['action']=='ekle' && isset($_GET['action'])){}
şeklinde yaparsanız daha iyi olacaktır neden derseniz şuan sizin yaptıgınız şekilde
action da ekle diye veri gelsede çalışacak action=abuzer diye veri gelsede kodlar çalışacak
yani 2.bi if sorgulamasına gerek yok.insert into arac (id,arac,ozellik)values('','$arac','$ozellik'); id sutunu auto_increment ise id sutununu hiç boş bırakmanıza gerek yok o zaman kendi bildiğini okuyacaktır.
-
heatclife
İlk olarak bu bir admin panel olacağı için zararlı kod süzme gibi bişey düşünmedim komple klasörü şifrelemeyi planladım.
$_GET['action']=$action;
derken altta kullanırken köşeli parantezlerden kesme işaretinden falan kurtulayım diye yazdım evet saçma olmuş :)
if($GET['action']=='ekle' && isset($GET['action'])){}
kullanımı evet daha pratik oluyormuş ama mantık olarak benim yazdığımla bir farkı yok ben önce action diye bi veri geliyormu ona bak eğer geliyorsa içeriği ekle ise şunu yap duzenle ise bunu yap gibi yazmaya çalışıp işi uzattım, haklısınız.
Ancak bu kodda her ne kadar karmaşa olsada localde çalışıp sunucuda çalışmamasının farklı bir nedeni olması lazım. Yani versiyon farklılıklarından kaynaklanan bir algılama problemi diye tahmin ediyorum. Sürekli kod yazmadığımdan acemiliğimden göremedim, çok haşır neşir olan arkadaşlar görebilir belki,12 yıl önce yazılmış -
necmettin
Altta kullanırken köşeli parantezlerden kurtulmak istiyorsan,if (isset($_GET['action'])) {$_GET['action'] = $action; }
yerineif (isset($_GET['action'])) {$action = $_GET['action']}
kullanman gerekir. Aynı şeyi $islem icin de yapmissin. Yani $_GET['action']ı almıyorsun, üzerine yazıyorsun..
Ayrıca, daha temiz bir eylem için $action ve $eylem diye iki ayrı kontrol mekanizman olmaMAsı gerekir.12 yıl önce yazılmış -
heatclife
Teşekkür ederim. Sorun değişkene atamak istediğim yerde yaptığım hatadan kaynaklanıyormuş.
Doğru cevap olarak işaretleyebilmem için konuya cevap yazarsanız sevinirim.12 yıl önce yazılmış
-