![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.08.2011 Ostrzeżenie: (0%)
|
Skrypt po uzupełnieniu wszystkich pól w formularzu nic nie zwraca i nie zapisuje użytkownika w bazie.
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
W liniach 29 i 39 masz zmienną $name_user, która nie jest nigdzie zdefiniowana. session_start() daj na sam początek. Walidacja powinna odbywać się w momencie pobierania danych z tablicy $_POST, a nie później. Błędy raczej zapisywałbym do odpowiedniej tablicy, zamiast rzucać non stop wyjątkami. Dlaczego? Choćby dlatego, że jeśli email będzie nieprawidłowy i jednocześnie hasła nie będą się zgadzać, to wyjątki zostaną przechwycone dwa razy, za każdym razem z innym komunikatem błędu. Jeśli zatem użytkownik wszystkie pola wypełni nieprawidłowo, to aż cztery razy otrzyma komunikat błędu, za każdym razem inny, a chyba powinien od razu wiedzieć, które ze wszystkich pól wypełnił źle. Mnie osobiście skłoniłoby to do opuszczenia strony. Blok try ... catch ... nie jest dobrym pomysłem na walidację danych z formularza.
Radzę zapoznać się z tematem Jak poprawnie zadać pytanie - są tam zawarte podstawy dotyczące debugowania skryptów, z którymi warto się oswoić. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.08.2011 Ostrzeżenie: (0%)
|
Wstawiłem funkcję włączające wszystkie komunikaty o błędach do skryptu z pliku functions.php. Poprawiłem swój skrypt do postaci:
Teraz wyskakuje mi błąd: Notice: Undefined variable: menu in /home/alleg/public_html/e-milnet/functions/functions_show.php on line 14 W 8 lini tego kodu:
i dalej skrypt nic nie wykonuje. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
W funkcji head_menu() w linii 5 powinieneś zmienną $menu zainicjować pustym łańcuchem znaków: $menu = '';. Zamiast if(!errors) użyj if(empty($errors)). No i zobacz na linię 50, bo nie domknąłeś tam łańcucha znaków, w wyniku czego reszta się sypie. Linie 3-6 włącznie powinny się znaleźć w bloku if(empty($errors)) w linii 37.
EDIT I jeszcze
Ten post edytował mortus 4.09.2011, 11:41:24 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.08.2011 Ostrzeżenie: (0%)
|
Teraz podczas rejestracji wyskakuje mi błąd:
Notice: Undefined property: mysqli::$num_rows in /home/alleg/public_html/e-milnet/functions/functions_authen.php on line 39 W 13 lini funkcji:
ale dodaje uzytkownika do bazy. Ten post edytował e-milnet 5.09.2011, 15:55:00 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 22:39 |