[php][klasy][mysql] Problem z rejestracją nowych użytkowników :/ |
[php][klasy][mysql] Problem z rejestracją nowych użytkowników :/ |
2.02.2009, 15:24:36
Post
#1
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 5 Dołączył: 15.10.2008 Skąd: Wrocław Ostrzeżenie: (0%) |
Witam wszystkich programistów Jestem początkujący w dziedzinach programowania i chciałbym się was poradzić. W ramach nauki robię sobie stronkę opartą na php i myql i trochę wstyd ale utknąłem już na początku Zacząłem od pisania skryptu który zaloguje mnie na stronę i to ładnie działa jednak mam problem przy skrypcie realizującym rejestrację nowych użytkowników. Wszystkie dane są przekazywane za pomocą metody POST a skrypt zachowe się tak jakby nie otrzymywał do tej zmiennej żadnych danych i wykonuje polecenie if(!isSet($_POST['user']) || !isSet...etc) powodujące powrót do strony formularza rejestracyjnego zamiast rejestracji. Próbowałem już chyba wszystkiego i nie wiem o co mu chodzi i co mogłem tam żle napisać :/ Poniżej zamieszczam kody 2 plików: rejestracja.php(z formularzem rejestracyjnym) i nowy_user.php(z poleceniami rejestracyjnymi) Byłbym bardzo wdzięczny gdyby któremuś z was udałoby się znaleźć co tu może być źle.
rejestracja.php Kod <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> <title>Race - rejestracja</title> <link rel="stylesheet" href="style.css" type="text/css"> <script language="JavaScript" type="text/javascript"> <!-- Linia ukrywająca kod przed przeglądarkami nie obsługującymi JavaScriptu function sprawdz(){ var f = document.forms.rejestracja; if(f.user.length < 3){ alert('Nick musi mieć minimum 3 znaki!'); return; } if(f.user.length > 16){ alert('Nick nie może być dłuższy niż 16 znaków!'); return; } if(f.haslo.length < 4){ alert('Hasło musi mieć minimum 4 znaki!'); return; } if(f.haslo.length > 16){ alert('Hasło nie może być dłuższe niż 16 znaków!'); return; } if(f.haslo.value != f.haslo2.value){ alert('Podane hasła nie są identyczne!'); return; } if(f.user.value == "" || f.haslo.value == "" || f.haslo2.value == "" || f.email.value == ""){ alert('Wypełnij wszystkie wymagane pola!'); return; } f.submit(); } // koniec kodu JavaScriptu </script> </head> <body> <center> Wpisz swoje dane.<br> Dane oznaczone gwiazdką(*) są wymagane.<br> <form name="rejestracja" action="nowy_user.php" method="post"> <table> <tr><td>Nick*</td><td><input name="user" type="text"></td></tr> <tr><td>Hasło*</td><td><input name="haslo" type="password"></td></tr> <tr><td>Powtórz hasło*</td><td><input name="haslo2" type="password"></td></tr> <tr><td>Email*</td><td><input name="email" type="text"></td></tr> <tr><td>Imię</td><td><input name="imie" type="text"></td></tr> <tr><td>Miasto</td><td><input name="miasto" type="text"></td></tr> <tr><td>Gg</td><td><input name="gg" type="text"></td></tr> <tr><td colspan="2" align="right"><input type="button" value="Zarejestruj" name="zarejestruj" onClick="sprawdz();"></td></tr> </table> </form> </center> </body> </html> nowy_user.php Ten plik sie tu nie zmieścił bo jest za duży ale można go zobaczyć tutaj: nowy_user.php Z góry dzięki za odpowiedź Ten post edytował Smoker 2.02.2009, 15:39:33 -------------------- http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
|
|
|
2.02.2009, 15:34:18
Post
#2
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) |
z niecierpliwością czekamy na drugi plik
-------------------- banan wszyscy.
|
|
|
2.02.2009, 15:35:38
Post
#3
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 5 Dołączył: 15.10.2008 Skąd: Wrocław Ostrzeżenie: (0%) |
-------------------- http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
|
|
|
2.02.2009, 15:50:36
Post
#4
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) |
na
Choć to nie jest błąd, który powoduje złe działanie skryptu. A ogólnie to proponuje wywalić wszystkie małpy przed funkcjami i sprawdzić czy nie ma błędów z bazą... BTW. Co Ty przypisujesz tym stałym? ;o Ten post edytował jareeny 2.02.2009, 15:51:42 -------------------- banan wszyscy.
|
|
|
2.02.2009, 16:01:10
Post
#5
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 5 Dołączył: 15.10.2008 Skąd: Wrocław Ostrzeżenie: (0%) |
z małpami już próbowałem ale z połączeniem nie ma żadnych problemów a tamto zamieniłem i z funkcją empty nawet ładniej wygląda
-------------------- http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
|
|
|
2.02.2009, 16:13:43
Post
#6
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) |
Przepuść wszystkie POSTY przez var_dump i sprawdź czy w ogóle dane idą do nich
-------------------- banan wszyscy.
|
|
|
2.02.2009, 16:35:17
Post
#7
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 5 Dołączył: 15.10.2008 Skąd: Wrocław Ostrzeżenie: (0%) |
przepuściłem i wszytsko w jaknajlepszym porządku do każdej zmiennej $_POST przypisał odpowiednie dane
Kod $_POST['user'] = string(4) "user"
$_POST['haslo'] = string(5) "haslo" $_POST['email'] = string(5) "email" $_POST['imie'] = string(4) "imie" $_POST['miasto'] = string(6) "miasto" $_POST['gg'] = string(2) "gg" Ten post edytował Smoker 2.02.2009, 17:01:39 -------------------- http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
|
|
|
2.02.2009, 16:41:23
Post
#8
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) |
Każdą zmienną daj w "" (apostrofy/cudzysłowy) -------------------- banan wszyscy.
|
|
|
2.02.2009, 16:46:21
Post
#9
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 5 Dołączył: 15.10.2008 Skąd: Wrocław Ostrzeżenie: (0%) |
tez nic probowałem też usunąc poprostu kod odpowiadający za przekierowanie do strony rejestracji(chociaz powinien zadziałać tylko jeśli nie ma nic w zmiennych $_POST) bo zamiast rejestrować wraca na tą stronę:
Kod else if(!isSet($_SESSION['user']) || !isSet($_SESSION['haslo']) || !isSet($_SESSION['email'])){ include('rejestracja.php'); } ale dalej nic bo wykonuje skrypt na samym końcu wstawiający komunikat że jest błąd a powinien odczytać definicję OK która pozwala na dodanie nowych rekordów w bazie danych HAHAHA jaki lol ze mnie dobra juz wiem co mam zle i juz dziala teraz zauwazylem piszac ten post w kodzie wszedzie zamiast $_SESSION powinno byc $_POST : Kod else if(!isSet($_POST['user']) || !isSet($_POST['haslo']) || !isSet($_POST['email'])){ include('rejestracja.php'); } Noi dziala Ale dzieki JAREENY za chęć pomocy! I jakby nie patrzec to mi pomogles bo gdyby nie ty to temat by sie nie rozwinal i bym tego nie zauwazyl Jeszcze raz dzieki ide pisac dalej Ten post edytował Smoker 2.02.2009, 23:35:34 -------------------- http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
|
|
|
Wersja Lo-Fi | Aktualny czas: 20.09.2024 - 09:16 |