![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%) ![]() ![]() |
Stworzyłem przed chwilą szkielet skryptu obsługi kilkustronicowego formularza.
Prosiłbym, żebyście przyjżeli się kodowi i sprawdzili czy jest on logicznie poprawny i czy nie zawiera błędów:
Mam też kilka pytań: - W jaki sposób zabrać się do sprawdzania poprawności danych? Myślałem o funkcachi sprawdzających każde pole z osobna (czy jest liczbą, czy jest e-mailem, itp.) i zwracających prawdę lub fałsz. Potem bym sprawdzał tylko czy wszędzie jest true. Jeśli byłoby false wtedy wracałoby do formularza i wyświetlała nad nim informacje o niepoprawnych danych. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ja znalazłem trochę więcej różnic ...
1) użycie switch" title="Zobacz w manualu PHP" target="_manual, ponieważ bez sensu pisać if else if else if else 2) Twoja próba sprawdzania we funkcji... czyli do każdego pola będzie osobna funckja? po co? odrazu sprawdzam w każdym case czy zmienna jest błędna, nie potrzebuje odwoływać się do funkcji ... chyba, że napiszesz coś bardziej skomplikowanego do sprawdzenia poprawności email to wtedy tak, ale czy jest liczba... do tego nie trzeba pisać funkcji 3) w moim rozwiązaniu wyświetalnie formularza odbywa się po sprawdzeniu danych zależnie od zmiennej krok, a nie w każdym case sprawdzam if, który formularz mam wyświetlić... oszczędność pisania bo tylko jeden raz występuje echo $err;, a nie w każdym if no i znalazłem jednego buga... (EDIT: zaleznie od tego jak wyglada kod strony bo tej czesci kodu nie widac (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) jesli to jest reg_page=0 to zadziala, jesli zmienna nie jest ustawiona to wywali notice jak napisalem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
to wyrzuca notice ... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) jak już to użyj isset albo inne rozwiązanie jest takie : (int)@$_POST['reg_place'] wtedy zwraca 0 jesli nic nie zdefiniowalismy, albo jest to litera czy inny znak od liczby :] Ten post edytował sf 11.09.2004, 12:23:38 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 12:42 |