![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 1 Dołączył: 28.08.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z formularzem rejestracji. Walidacja działa jedynie w przypadku pola 'username', w pozostałych przypadkach niestety nie. Zupełnie nie mam pojęcia gdzie może być błąd. Może wy coś doradzicie? register.php
validate.php
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Na moje oko działa ci to "dobrze", bo jak działa w przypadku username, to jeżeli będziesz miał usera złego, a hasło dobre, to będzie ci działać dobrze dla hasła.
Czyli dla każdego poprawnego pola będziesz miał $this->_passed = true; i if($validation->passed()) także będzie spełnione. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 112 Pomógł: 22 Dołączył: 11.04.2010 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Na końcu tej pętli masz return co skutkuje tym, że wykona się tylko 1 raz (czyli dla username w tym przypadku) i zakończy działanie niezależnie od wyniku walidacji. Co więcej użycie w else{ $this->_passed = true; } powoduje, że wystarczy, że jeśli tylko jedno będzie poprawne, a pozostałe złe to i tak wynik będzie true, $this odwołuje się do całego obiektu, a nie pojedynczych wartości. No i na dodatek if($rule === 'required' && empty($value)) sprawdzasz tylko czy w tablicy jest element "required", a nie sprawdzasz, czy ma wartość true czy false. Wywal to else, a return daj tam gdzie masz zakomentowany. Ten post edytował session 11.02.2016, 21:53:44 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 13 Dołączył: 16.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak jak pisze @session, przez ten return waliduje się tylko pierwsze pole.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 2 Dołączył: 13.07.2015 Ostrzeżenie: (0%) ![]() ![]() |
Pytanie do Twojego kodu :
Linijka:
Powieli tablice zgodnie z liczba iteracji (3 lub 4 w tym przypadku). Czy tak mialo byc i czy to jest dobra praktyka? Nie zabiera to (zbednie) pamieci przez iterowanie 3 or 4 razy tego samego? Ten post edytował JakubBab 20.02.2016, 14:48:43 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
@up co masz na myśli?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 2 Dołączył: 13.07.2015 Ostrzeżenie: (0%) ![]() ![]() |
tablica
tablica $value w tej petli to:
Jest powielona. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
ok, no to jest źle napisane to fakt
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 2 Dołączył: 13.07.2015 Ostrzeżenie: (0%) ![]() ![]() |
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
bledna przeróbka tego https://www.youtube.com/playlist?list=PLfdt...CE9mxspdpX_JleP
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:42 |