![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 4 Dołączył: 22.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mógłby mi ktoś sprawdzić czy poniższy formularz rejestracyjny jest prawidłowy? Kod <?php // łączymy się z bazą danych i wybieramy potrzebną baze danych $link_id = mysql_connect("localhost", "root", "pass"); // tu root i pass są wprowadzone przez was w zależności od konfiguracji waszego serwera mysql_select_db("test"); mysql_close($link_id); // stworzymy dwie przydatne funkcje...jedna będzie tworzyła nagłówek strony, a druga stopke strony function html_header() { global $new_win_width, $new_win_height; ?> <HTML> <HEAD> <TITLE>Przegladarka rekordow</TITLE> </HEAD> <BODY> <?php } function html_footer() { ?> </BODY> </HTML> <?php } function in_use($userid) // funkcja ta sprawdza czy nie dany login nie jest już wykorzystany { global $tabela_uzytkownikow; $query = "SELECT userid FROM $tabela_uzytkownikow WHERE userid = 'userid'"; $result = mysql_query($query); if(!mysql_num_rows($result)) return 0; else return 1; } function register_form() // funkcja ta wyświetla nam formularz w który użytkownik wpisze swoje dane { global $userid, $username; global $PHP_SELF; ?> <CENTER><H3>Utworz swoje konto</H3></CENTER> <FORM METHOD="post" ACTION="<?php echo $PHP_SELF ?>"> <INPUT TYPE="hidden" NAME="action" VALUE="register"> <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%"> <TR> <TH WIDTH="30%" NOWRAP>Wybrany identyfikator</TH> <TD WIDTH="70%"><INPUT TYPE="text" NAME="userid" VALUE="<?php echo $userid ?>" SIZE="8" MAXLENGHT="8"></TD> </TR> <TR> <TH WIDTH="30%" NOWRAP>Wybrane hasło</TH> <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword" SIZE="15"></TD> </TR> <TR> <TH WIDTH="30%" NOWRAP>Powtórz hasło</TH> <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword2" SIZE="15"></TD> </TR> <TR> <TH WIDTH="30%" NOWRAP>Imie i Nazwisko</TH> <TD WIDTH="70%"><INPUT TYPE="text" NAME="username" VALUE="<?php echo $username ?>" SIZE="20"></TD> </TR> <TR> <TH WIDTH="30%" COLSPAN="2" NOWRAP> <INPUT TYPE="submit" VALUE="Rejestruj"> <INPUT TYPE="reset" VALUE="Wyczyść"> </TH> </TR> </TABLE> </CENTER></DIV> </FORM> <?php } function create_account() // funckja ta tworzy tworzy konto danego użytkownika { global $userid, $username, $userpassword, $userpassword2; // można też na wszelki wypadek dopisać warunki funkcji if które sprawdzałyby czy podane dane są poprawne. Ja ten krok pomijam $link_id = mysql_connect("localhost", "root", "pass"); $query = "INSERT INTO user VALUES(NULL, '$userid', password ('$userpassword'), '$username')"; $result = mysql_query($query); $usernumber = mysql_insert_id($link_id); html_header(); ?> <CENTER><H3> <?php echo $username ?>, dziękujemy za zarejestrowanie się </H3></CENTER> <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%"> <TR> <TH WIDTH="30%" NOWRAP>Numer użytkonika</TH> <TD WIDTH="70%"><?php echo $usernumber ?></TD> </TR> <TR> <TH WIDTH="30%" NOWRAP>Wybrany identyfikator</TH> <TD WIDTH="70%"><?php echo $userid ?></TD> </TR> <TR> <TH WIDTH="30%" NOWRAP>Wybrane hasło</TH> <TD WIDTH="70%"><?php echo $userpassword ?></TD> </TR> <TR> <TH WIDTH="30%" NOWRAP>Imię i Nazwisko</TH> <TD WIDTH="70%"><?php echo $username ?></TD> </TR> </TABLE></CENTER></DIV> <?php html_footer(); } switch($action) { case "register": create_account(); break; default: html_header(); register_form(); html_footer(); break; } ?> baza Kod CREATE TABLE user ( usernumber MEDIUMINT(10) NOT NULL AUTO_INCREMENT, username VARCHAR(30) NOT NULL, userid VARCHAR(10) BINARY NOT NULL, userpassword VARCHAR(15) BINARY NOT NULL, PRIMARY KEY (userid), UNIQUE usernumber (usernumber) ) Tak się to wszystko prezentuje na stronie rejestracja A i czy była by możliwość automatycznego przydzielania unikalnego identyfikatora np od 1 do 50? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 18 Dołączył: 15.04.2009 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
Kod jak dla mnie jest fatalny, aż roi się od zmiennych globalnych. Przydziela Ci już unikalny identyfikator. Pole "usernumber" samo tworzy unikalne id dla każdego nowego użytkownika.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 4 Dołączył: 22.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
A czy jest poprawnie napisany?Coś mi się wydaje, że nie rejestruje nowego użytkownika.Czy jest możliwość sprawdzenia w bazie czy dodało?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
A czy jest poprawnie napisany?Coś mi się wydaje, że nie rejestruje nowego użytkownika.Czy jest możliwość sprawdzenia w bazie czy dodało? Żartujesz? Przecież możesz zobaczyć w phpmyadmin... Dodaj przy dodawaniu rekordu do bazy Kod or die() i zobacz.
-------------------- Google knows the answer...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:34 |