![]() |
![]() ![]() |
![]() |
![]()
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%) ![]() ![]() |
Proponowana konstrukcje moją masz tutaj :
http://forum.php.pl/index.php?showtopic=20...ndpost&p=124020 Ten post edytował sf 11.09.2004, 11:14:52 -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%) ![]() ![]() |
Twoje rozwiązanie od mojego różni się w zasadzie tylko tym, że zmienną $id (w moim przypadku $reg_page) przekazuję poprzez $_POST w hidden polu formularza.
Dodam jeszcze że dane do sprawdzenia w trzecim kroku chce przekazać przez $_POST, a do potwierdzenia i wysłania do bazy w kroku 4-tym użyję sesji. |
|
|
![]()
Post
#4
|
|
![]() 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 ![]() ![]()
to wyrzuca notice ... ![]() 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 -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Grajewo Ostrzeżenie: (0%) ![]() ![]() |
1) Do switch nie jestem przyzwyczajony, to jest mój pierwszy większy skrypt i do tej pory ograniczałem się tylko do if i else if.
2) Jeśli chodzi o sprawdzanie danych za pomocą funkcji to planuje stworzyć kilka do kilku pól (np. funkcja sprawdzania maili do pól: e-mail, tlen i icq). 3) W moim wypadku formularz ma 3 strony, ale dane podaje się tylko na jednej stronie, dlatego dane sprawdzane są raz przed potwierdzeniem i drugi raz na wszelki wypadek (tylko czy są wszystkie wymagane) przed zapisaniem w bazie danych. Wprowadziłem kilka poprawek do kodu (nadal bez funkcji sprawdzania danych):
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 18:17 |