![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 23.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam dwa problemy
1) Mam fomularz, dużo w nim pól i ograniczeń. Kiedy której pole zostanie źle wypełnione to pojawia się komunikat który ustaliłem i ok, ale wszystkie dane wówczas (po wysłaniu formularza) znikają. Jak zrobić, żeby po kliknięciu Submit wyświetlał się komunikat że trzeba poprawić któreś pole ale żeby formularz się nie kasował? 2) Jak sprawdzić rodzaj wpisanych danych do formularza? Chcę żeby można było weń wpisać tylko liczby |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) ![]() ![]() |
1) Do walidacji danych użyj javascriptu
2) Nie mam pojęcia czy w JS jest odpowiednik phpowej funkcji is_int... -------------------- banan wszyscy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 25 Dołączył: 6.09.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1) Do walidacji danych użyj javascriptu Walidacja javascript jest jak najbardziej ok, ale raczej nie powinna być jedyną formą walidacji, zbyt łatwo jest ją wyłączyć. Dlatego oprócz javascript formularz powinien być sprawdzany również po stronie serwera. Jeśli chodzi o przechowywanie wartości pól po wysłaniu formularza możesz użyć np. sesji lub po prostu uzupełnić pola wartościami z $_POST, jeżeli formularz został niepoprawnie wypełniony. Jeżeli chodzi o sprawdzanie czy wprowadzona wartość jest liczbą po stronie serwera można użyć is_int, lub intval. W javascript jest to zdaje się parseInt. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
Mam dwa problemy 1) Mam fomularz, dużo w nim pól i ograniczeń. Kiedy której pole zostanie źle wypełnione to pojawia się komunikat który ustaliłem i ok, ale wszystkie dane wówczas (po wysłaniu formularza) znikają. Jak zrobić, żeby po kliknięciu Submit wyświetlał się komunikat że trzeba poprawić któreś pole ale żeby formularz się nie kasował? 2) Jak sprawdzić rodzaj wpisanych danych do formularza? Chcę żeby można było weń wpisać tylko liczby Ad 1. Masz dwa wyjścia, jeśli znasz ajax. Jeśli nie to zapisuj dane do sesji i po sprawie Ad2. Ja niestety nie znam JS poza tym przy każdych włamaniach jest pokazywany , że kod JS usuwają i odpalają bez tego. Bardziej Ajax lub PHP. Zobacz jak wykozystane jest ereg" title="Zobacz w manualu PHP" target="_manual, preg_match" title="Zobacz w manualu PHP" target="_manual. http://php.koderzy.pl/porady23/W_jaki_spos...dacj%C4%85?.php Pozdrawiam Redelek -------------------- Pozdrawiam
Piotrek R |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Walidacja javascript jest jak najbardziej ok, ale raczej nie powinna być jedyną formą walidacji, zbyt łatwo jest ją wyłączyć. Dlatego oprócz javascript formularz powinien być sprawdzany również po stronie serwera. Naturalnie, że nie powinna być jedyną walidacją, lecz może być taką hm... nakładką (?), na tą po stronie serwera, która nie pozwalałaby na wykonanie kodu. No a jeżeli ktoś ma wyłączoną obsługe javascript, no to wtedy już ma pecha, i formularz mu się kasuje ![]() Ten post edytował jareeny 25.01.2009, 20:19:01 -------------------- banan wszyscy.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Jak zrobić, żeby po kliknięciu Submit wyświetlał się komunikat że trzeba poprawić któreś pole ale żeby formularz się nie kasował? Niech skrypt wyświetlający formularz i go parsujący będzie pod tym samym URL-em; wtedy dane będziesz mógł wczytać z tablicy $_POST Cytat Nie mam pojęcia czy w JS jest odpowiednik phpowej funkcji is_int... isNaN -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Możesz też użyć metody, którą ja w takich przypadkach polecam - zapamiętanie wpisanych do formularza wartości przy pomocy cookies - przydaje się podczas pracy z formularzami wieloetapowymi, z zapamiętywaniem kryteriów wyświetlania/wyszukiwania, stanu koszyka etc. - odciążasz bazę. A najprostsza metoda to:
Walidację najlepiej przeprowadzać w PHP - piszesz w tym celu cały szereg funkcji walidujących, np. - funkcja taka powinna zwracać tablicę, która powinna zawierać: 1. TRUE lub FALSE w zależności od tego, jak poszła walidacja 2. Walidowaną zmienną przystosowaną do dodania do bazy etc. 3. Walidowaną zmienną przystosowaną do użycia w formularzu (czyli value="zmienna") 4. Komunikat błędu (jeśli wystąpił) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:37 |