![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 2 Dołączył: 17.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pisze dosc spory kod i zastanawiam sie jaka według was jest najlepsza, najszybsza a co najwazniejsze najbezpieczniejsza forma przetwarzania danych z formularzy. Zarówno ze strony kodu php jak i walidacji. Rozumiem ze jest to temat szeroki jednak nie daje mi juz zasnac od 3 dni, prosiłbym więc o dobre rady od ludzi z o wiele wiekszym doświadczeniem.
Ten post edytował Luke_Star 12.11.2006, 14:20:56 -------------------- Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
-------------------------------------- Portal Literacki: ( |||------- ) 30% |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Zarówno ze strony kodu php jak i walidacji Rozumie, że walidację chcesz przeprowadzić w js, skoro nie uwzględniasz jej w php? Moja rada - walidacja w js wstępna, w php ostateczna i dogłębna. a najlepiej zacząć od
Walidować, najlpeiej gotowym rozwiązaniem - nie wiem z Zend, lub Rapide. No i potem forwardować, jeśli ok na akcję która dodaje czy cośtam robi, lub forwardować na tą samą jeśli błąd + wyświetlenie co nie tak... To moje zdanie, ale może marne... Ten post edytował envp 12.11.2006, 15:13:55 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 2 Dołączył: 17.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
walidacja raczej i z jednej i zdrugiej strony, po co obciazac serwer jakims całkowicie niepoprawnym wpisem. Mam pytanko co do akcji formularzy, jak to działa w bardzo duzych skyptach? Chodzi mi dokładniej jak ustawione jest <form action="">.
-------------------- Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
-------------------------------------- Portal Literacki: ( |||------- ) 30% |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 4.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanko co do akcji formularzy, jak to działa w bardzo dużych skyptach? Chodzi mi dokładniej jak ustawione jest <form action="">. Zakładając ten temat sam sobie odpowiedziałeś wpisując jego nazwę ![]() Poza tym chyba lepiej będzie napisać klasę obejmującą żądania użytkowników ($_POST,$_GET, $_COOKIE, $_REQUEST) i klasę do walidacji danych. Poszukaj na forum pod słowem 'request' bo tak często są nazywane tego typu klasy. I mały OT na koniec... jak to działa w bardzo dużych skyptach? Jeśli trzymasz się wzorca projektowego jakim jest MVC to raczej ciężko nazwać aplikacje napisaną w tym stylu 'skryptem'. Skrypt to coś w stylu 'all in one' - jeden index.php i w nim wszystko. Dlatego raczej ciężko spotkać 'duży' skrypt - tym bardziej w MVC. -------------------- Załóż konto na dropbox.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Ja u siebie mam to rozwiazane tak.
Calym requestem (http) zajmuje sie klasa wlasnie HttpRequest, to ona zarzadza danymi $_POST, $_GET itp. Do tego jest klasa Validation (czy jakokolwiek chcesz to nazwac) o interfejscie zblizonym do:
Kiedy kieruje formularz do odpowiedniego kontrollera i akcji, ta pyta sie request o dane a pozniej przepuszcza to przez funckje walidacyjne. Rozwiazanie to jest bardzo proste i prymitywne, ale zarazem dziala poprawnie. Klase taka mozna dowolnie rozbudowywac, dodac do niej jakies lancuchy tych ograniczen, pozniej tylko podac parametry i zeby sie wszystko samo zrobilo. Ogolnie koncepcja taka zeby wykonac klase odpowiedzialna za walidacje danych. W ksiazce PHP5 Zaawansowane Programowanie spotkalem sie tez z pomyslem umieszczenia walidacji w samej klasie Requesta. Jakos pomysl mi nie przypadl do gustu, wystarczy mi ze Request serwuje mi dane zaciapkowane (miedzy '), z obcietymi znakami html badz zamienionymi na ASCII. -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Troche przekombinowana klasa. Wiecej napiszesz sie uzywajac jej metod, niz piszac normalne warunki, np: isLesThan. I nie ma sensu pisac Is/IsNot - znowu za duzo sie napiszesz. Przeciez po to jest operator negacji "!". Pozdrawiam, Adrian. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o formularze to ostatnio znacznie bardziej preferuje gotowe rozwiązania bo
a) nie muszę wszystkiego pisać od początku b ) znacznie szybciej tworzy się formularz i warunki do jego walicaji c) trudno napisać naprawdę dobrą obsługę formularzy w pojedynkę d) słabo znam js więc byłby problem ze wstępną walidacja ![]() Ogólnie polecam klasę HTML_QuickForm - banalnie prosta w obsłudze a po małych ingerencjach i przeróbkach udało mi się ją dopasować do własnych potrzeb. Co do pytania z tematu - to klasa ta ma wbudowane funkcje do walidacji i ekportu danych (nie trzeba odwoływać się przez $_POST tylko dane są od razu walidowane i w razie czego konwertowane (np. można zmienić , na . w wpisywanych liczbach). Oprócz całej sterty wbudowanych testów, można również pisać swoje własne i odwoływać się do nich poprzez funkcje zwrotne. IMHO najlepsza klasa z tych, które do tej pory widziałem |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:08 |