[PHP] Walidacja formularza (funkcje) |
[PHP] Walidacja formularza (funkcje) |
4.05.2012, 19:39:45
Post
#1
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) |
Co tutaj więcej pisać ?! ... Do każdej funkcji dodałem globalną zmienną $error i działa Ten post edytował peja1990 4.05.2012, 19:45:56 |
|
|
4.05.2012, 19:48:25
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) |
Ciekawi mnie ja zwracasz napis o błędzie ,dla konkretnego pola.
Nie powinno być: return $error[0] = 1; return $error[1] = 1; return $error[2] = 1; itd.? |
|
|
4.05.2012, 19:50:05
Post
#3
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) |
Ciekawi mnie ja zwracasz napis o błędzie ,dla konkretnego pola. Nie powinno być: return $error[0] = 1; return $error[1] = 1; return $error[2] = 1; itd.? heh Poprzez wywołanie funkcji echem echo funkcja(tekst); Aktualna wersja kodu:
Gra i buczy jeżeli chcę sprawdzić poprawność pola formularza/tekstu to wywołuję funkcję np. jeżeli pole jest błędnie wypełnione to dostaję treść błędu Ten post edytował peja1990 4.05.2012, 19:54:09 |
|
|
4.05.2012, 19:52:44
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) |
Dramat... Płacz i zgrzytanie zębów... Dur brzuszny i gorączka krwotoczna...
function validateNames($value) { if(!ereg("^[A-ZŁŚ]{1}[a-ząęółśżźćń]{1,30} [A-ZŁŚ]{1}[a-ząęółśżźćń]{1,30}$", $value) && strlen($value) < 3) return $error[] = 1; } eregi się nie używa, ta funkcja nie będzie za chwile wspierana, w nowszych wersjach php jej użycie produkuje warning.. Ale to jeszcze nic, najgorsze jest to że walisz w skrypcie znakami które nie są ASCII. To nie ma prawa zadziałać, poczytaj sobie trochę o kodowaniu, o unicode, o stronach kodowych, może zrozumiesz w czym problem. Global też się raczej nie używa, a na pewno nie w ten sposób. Ten post edytował wNogachSpisz 4.05.2012, 19:55:09 |
|
|
4.05.2012, 19:52:56
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) |
Może źle mi się wydaje, ale ta wiadomość tekstowa o błędzie jest prawdopodobnie jednolita dla każdego pola.
|
|
|
4.05.2012, 19:53:58
Post
#6
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) |
ereg sie juz nie uzywa, od tego jest preg_match
-------------------- |
|
|
4.05.2012, 19:57:24
Post
#7
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) |
Zacznij używać klas, stosowanie globali nie jest wskazane. Stwórz sobie na początek klase (pisane z palca):
Oczywiście taka klasa jest prymitywna, ale z czasem sobie ją rozbudujesz albo jeszcze lepiej - napiszesz od nowa z zupełnie innym podejściem (bardzo wskazane). Ten post edytował kaem 4.05.2012, 20:01:04 |
|
|
4.05.2012, 20:47:28
Post
#8
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) |
No fajnie
Dzięki za uwagi A jak byście w takim razie ułożyli warunek preg_match() dla walidacji imienia i nazwiska by przepuszczała tylko taką formę "Imię Nazwisko" Czyli pierwsza litera imienia i nazwiska musi być duża, reszta mała + spacja... Tak jak mam to zrobione w swoim kodzie z eregami |
|
|
4.05.2012, 22:13:06
Post
#9
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) |
|
|
|
5.05.2012, 01:20:40
Post
#10
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) |
http://php.net/manual/pl/intro.pcre.php www.bitcetera.com/page_attachments/0000/0030/regex_in_a_nutshell.pdf pluton.pol.lublin.pl/~beatap/PHP/PHP_w3.pdf Dzięki ale już dawno sobie z tym poradziłem: Może ten sposób nie należy do 'najładniejszych' ale przynajmniej jest skuteczny Dzięki wszystkim za odpowiedzi, pozdrawiam. _____ EDIT: Zasłużone pomógł poleciały Ten post edytował peja1990 5.05.2012, 01:23:13 |
|
|
5.05.2012, 10:16:05
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 18:46 |