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;
}
?>
// łą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)
)
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?