![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem z walidacją formularza w php. Przy błędnym wypełnieniu jednego lub kilku pól i kliknięciu Wyślij, zamiast tekstu z wypisanym błędem wyświetla się cyfra 0. Nie mam pojęcia co może być nie tak, z php miałem niewiele do czynienia. Będę wdzięczny za wszelkie sugestie. Poniżej kod php i formularza:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj zmienić (Zamiast + są kropki, + to JavaScript a tutaj masz PHP):
Na:
I błąd wyświetl w ten sposób: Przy każdym błędzie dodaj na końcu: Myślę, że zorientujesz się co jest nie tak po wykonaniu tych czynności (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Do tego co napisał ~markuz dorzucę, że definiując komunikat błędu w linii 28 masz pustą zmienną $blad_txt. Powinieneś stworzyć cały ten tekst dopiero w momencie gdy będziesz miał zapisane wszystkie komunikaty błędów (czyli tam gdzie masz echo $blad_view).
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, teraz jest lepiej ale nadal nie idealnie ponieważ błędy wyświetlają się tak:
string(86) " Zgoda na przetwarzanie danych jest wymagana. " string(247) " Uzupełnij poniższe dane: Zgoda na przetwarzanie danych jest wymagana. Należy poprawnie wypełnić formularz. " Wpisałem zły numer telefonu a pod "Uzupełnij poniższe dane:" się nie pojawił komunikat. Próbowałem kombinować coś poza Waszymi sugestiami ale bez rezultatu:/ Poniżej zmieniony kod:
Ten post edytował lsrgsrd 9.12.2013, 12:37:46 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Funkcja var_dump służy tylko do sprawdzenia zawartości zmiennej, obiektu, tablicy itp. - Jak już wiesz co zawierają zmienne możesz ją usunąć i podmienić echo tam gdzie trzeba (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie, teraz błędy się wyświetlają dobrze.
Jednak jak to bywa, jedno się naprawi i wychodzi kolejne... Wyświetla mi tylko błędy dla pól wymaganych, które nie zostały wypełnione. Błędy z informacją o złym typie znaków (tylko cyfry, tylko litery) i z wymaganą długością ciągów znaków się nie wyświetlają, poza tym po błędnym wypełnieniu pól (bez żadnych pól pustych) i zaznaczeniu wymaganego checkboxa ze zgodą na przetwarzanie danych formularz i tak zostaje wysłany. Rozumiem, że to jakieś przeoczenie w pobieraniu błędów, chociaż nie wiem co to konkretnie mogłoby być choć może coś mi świta. Pewnie poniżej jakieś ify miały by być dla element_1, 2, 3, 4 i 6 tak jak w walidacji maila i może lepiej zrobić to w postaci tak jak mail, bez tworzenia zmiennych $lit_mys, $lit_cyf_mys_kro_sla i $cyf:
A tutaj to już nie wiem. Może zamiast nowej zmiennej w ifie wstawić, zamiast $element_1_1, po prostu strlen($element_1); ?
Jeśli źle myślę, to byłoby miło jakbyście mogli mnie jakoś naprowadzić... Z góry dzięki! Poradziłem sobie tak jak pisałem, także dzięki jeszcze raz za pomoc i temat do zamknięcia. Pozdrawiam. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
a przeczytaj sobie linię nr 3 na głos
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:15 |