![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki formularz:
Chcę aby przed jego wysłaniem został on dokładnie sprawdzony pod względem poprawności tj. minimalna ilość znaków, czy są cyfry bądź litery lub inne znaki. Jeżeli formularz jest poprawnie wypełniony powinna pojawiać się stosowna informacja np. dane które podał klient i to czy potwierdza ich wysłanie bądź anuluje, jeśli natomiast są błędy powinno wyświetlić się okienko że wystąpił błąd. Chciałbym aby okienko było takie jak to przy użyciu onsubmit="alert()" aby nie kasować tego co wpisał klient. Oczywiście zależy mi na wykożystaniu php a nie js. Każda najmniejsza pomoc bardzo mile widziana (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował nergla 10.05.2009, 17:38:22 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
no skoro chcesz w php, to długość możesz sprawdzić przez strlen, poprawność maila to
ale jak chcesz żeby było bez przeładowania strony to musisz to robić przez js |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale jak chcesz żeby było bez przeładowania strony to musisz to robić przez js No to niech będzie js. Tylko czy jak ktoś ma obsługe js wyłączoną to nie sprawdzi formularza i go wyśle czy poprostu nie będzie można go wysłać? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Niestety - nie wolno robić kontroli danych wyłącznie po stronie klienta, chyba że lubisz kłopoty. Wyłącznie po stronie serwera może być, tu i tu też może, ale wyłącznie po stronie klienta - nigdy.
Funkcjonalność, o jakiej piszesz, oferują rozmaite systemy obsługi/budowania formularzy, które automatycznie wykonują odpowiednie operacje dla każdego pola na podstawie określonych przez programistę reguł. Znajdziesz je w każdym poważniejszym frameworku. Oczywiście ręcznie też można coś takiego pisać, lecz ilość pracy w stosunku do efektów jest zbyt duża. Nie wiem, na jakim poziomie stoisz z PHP, by Ci coś konkretnego dokładniej polecić. PS. Od sprawdzania poprawności adresu e-mail to jest funkcja filter_var() z flagą FILTER_VALIDATE_EMAIL:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
jak ktoś wyłączy js, to ci nie przefiltruje
najpierw zrób filtracje w php, potem ewentualnie w js a ja bym polecał to zrobić tylko w php, z tym że aby nie tracić wpisanych danych, zrobić formularz w ten sposób
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Niestety - nie wolno robić kontroli danych wyłącznie po stronie klienta, chyba że lubisz kłopoty. Wyłącznie po stronie serwera może być, tu i tu też może, ale wyłącznie po stronie klienta - nigdy. Właśnie dlatego zależy mi na php a nie js. Cytat Funkcjonalność, o jakiej piszesz, oferują rozmaite systemy obsługi/budowania formularzy, które automatycznie wykonują odpowiednie operacje dla każdego pola na podstawie określonych przez programistę reguł. Znajdziesz je w każdym poważniejszym frameworku. Oczywiście ręcznie też można coś takiego pisać, lecz ilość pracy w stosunku do efektów jest zbyt duża. Nie wiem, na jakim poziomie stoisz z PHP, by Ci coś konkretnego dokładniej polecić. Hmm... jak by to ująść, z php dopiero zaczynam tak samo jak z js ale duża znajomość c++ znacznie ułatwia mi sprawę. Cytat PS. Od sprawdzania poprawności adresu e-mail to jest funkcja filter_var() z flagą FILTER_VALIDATE_EMAIL:
W tej chwili nie przyda się gdyż klient nie potrzebuje posiadać maila do wysłania formularza, ale napewno przyda się przy kolejnych stronach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 15 Dołączył: 2.04.2009 Skąd: koszalin Ostrzeżenie: (0%) ![]() ![]() |
Prosze.
Daj sobie jedna wartość z form wysylek checked - coś będzie domyślne. Przyklad okrojony (wywaliłem kilka pol aby nie było za długie - poradzisz sobie) czytaj komentarze
a żeby sobie posprawdzać dlugości to strlen Pozdrawiam Ten post edytował kantek 10.05.2009, 18:48:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:22 |