Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] Dobre praktyki - formularz z nazwami pól tabeli jako name
Forum PHP.pl > Forum > Przedszkole
Ghost_78
Tak jak w temacie.
Potrzebuję porady mądrzejszych kolegów.
Czy używanie w nazwach pól formularza, nazwy pól z tabeli w MySQL jest dobrym pomysłem? Praktykujecie takie metody.
Np.
  1. <input type="text" name="save[pole_w_mysql]">

Taki zapis wydaje się kuszący bo zapisik w bazie możemy sobie zrobić potem tak:
  1. foreach($_POST[save] AS $poleName=>$poleVal){
  2. $sqlCols[] = " $poleName='$poleVal' ";
  3. }
  4. $sqlAdd = implode(',',$sqlCols);
  5. // ... i dodajemy to do zapytanka INSERT albo UPDATE


Tak jak napisałem kuszące.
Tylko co z faktem iż zdradzamy nazwy pól tabeli.
Co z SQLinjection (czy groźne też przy PDO? )

Bardzo chętnie poczyam Wasze opinie.
Pozdrawiam
Daimos
sam sobie odpowiedziałeś, po co ktoś ma po formularzu, poznać strukturę Twojej bazy? Lepiej unikać takiego nazewnictwa, a przecież i tak wypada każdy element sprawdzać, filtrować, walidować itd. więc przy okazji zmienić nazwę, to już nie problem
Ghost_78
Cytat(Daimos @ 24.05.2011, 22:07:24 ) *
i tak wypada każdy element sprawdzać, filtrować, walidować itd. więc przy okazji zmienić nazwę, to już nie problem

No tak - tylko sprawa wydaje się kusząca w przypadku np Zend_Form, który nam sprawdzi i zwaliduje poszczególne pola formularza smile.gif
PeeSDeOeN
Cytat(Ghost_78 @ 24.05.2011, 21:12:24 ) *
No tak - tylko sprawa wydaje się kusząca w przypadku np Zend_Form, który nam sprawdzi i zwaliduje poszczególne pola formularza smile.gif


Ja w swoim formularzu mam nazwy skrocone i takze sprawdza mi kazdy wpis osobno smile.gif
mortus
A czy przypadkiem framework Zend'a nie ma właśnie takiej "polityki" co do nazewnictwa pól formularza? Tzn.
Cytat
używanie w nazwach pól formularza, nazwy pól z tabeli w MySQL
Z tym, że dane te nie trafiają później do bazy bezpośrednio, ale przez model.

EDIT
Oczywiście ZF jest na tyle elastyczny, że właściwie wszystko możemy robić "po swojemu".
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.