Cześć, piszę skrypt rejestracji, mam jednak problem z tokenem. Chciałbym, aby token to były cyfry wygenerowane przez funkcję rand. Zrobiłem takie coś, niestety cały czas po kliknięciu rejestruj pojawia się info, że kod jest nie prawidłowy. Proszę o pomoc. Pozdrawiam
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rejestracja</title>
</head>
<body>
<!-- Formularz Rejestracji -->
<table cellspacing="10">
<form action="reg.php" method="post">
<tr><td>Login :</td> <td><input type="text" name="login" /></td></tr>
<tr><td> Hasło :</td><td><input type="password" name="haslo" /></td></tr>
<tr><td>Powtórz hasło :</td><td><input type="password" name="haslo2" /></td></tr>
<tr><td> E-mail</td><td><input type="text" name="email" /></td></tr><br />
<tr><td> Przepisz kod :
<? $token = rand(1
, 1111
); echo $token; ?></td><td><input type="text" name="kod" /></td></tr><br />
<tr><td><input type="submit" name="wyslij" value="Rejestruj"/>
<input type="reset" name="wyczysc" value="Wyczyść"/></td></tr>
</form></td>
</table>
<!-- Koniec Formularza Rejestracji -->
<?
/* Połączenie z bazą danych */
require_once('config.php');
/* Na wypadek wyłączonego parametru Register_globals */
$login=$_POST['login'];
$haslo=md5($_POST['haslo']); $haslo2=md5($_POST['haslo2']); $email=$_POST['email'];
$kod=$_POST['kod'];
$token=$_POST['token'];
/* Zmienne */
$min = '4'; // minimalna liczba znaków
$maks = '16'; // maksymalna liczba znaków
$temat = 'Dziękujemy za rejestrację na strona.pl'; // temat wiadomości e-mail po rejestracji
$tresc = 'Dziękujemy za rejestrację ! Zapraszamy do aktywnego uczestniczenia w życiu strony ! Pozdrawiamy, administracja'; // treść wiadomości e-mail po rejestracji
$od = 'nadawca@nadawca.pl'; // nadawca wiadomości e-mail
/* Zapytania do bazy danych */
$reg = "INSERT INTO `uzytkownicy` (`id`, `login`, `haslo`, `email`, `data`) VALUES ('', '$login', '$haslo', '$email', NOW())"; // utworzenie konta
$user = mysql_num_rows(mysql_query("SELECT `login` FROM uzytkownicy WHERE login='$login'")); // sprawdzanie czy login jest wolny $mail = mysql_num_rows(mysql_query("SELECT `email` FROM uzytkownicy WHERE email='$email'")); // sprawdzanie czy e-mail jest już zarejestrowany
/* Sprawdzanie poprawności wypełnienia formularza */
if (isset($_POST['wyslij'])) { {
die ('<font color="red"><b>Wszystkie pola muszą być wypełnione !</font></b>'); // sprawdzanie czy wszystkie pola zostały wypełnione }
elseif ($haslo !=$haslo2) {
die ('<font color="red"><b>Wpisane hasła nie pasują do siebie !</font></b>'); // sprawdzanie czy podane hasła są takie same }
elseif (!ereg("[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+.[a-zA-Z]" , $email)) { die ('<font color="red"><b>Adres e-mail jest nie prawidłowy !</font></b>'); // sprawdzanie poprawności adres e-mail }
elseif (strlen ($login) < $min) { die ('<font color="red"><b>Podany login jest zbyt krótki !</font></b>'); // sprawdzanie czy login nie jest za krótki }
elseif (strlen ($haslo) < $min) { die ('<font color="red"><b>Podane hasło jest zbyt krótkie !</font></b>'); // sprawdzanie czy hasło nie jest za krótkie }
elseif (strlen ($login) > $maks) { die ('<font color="red"><b>Podany login jest za długi !</font></b>'); // sprawdzanie czy login nie jest za długi }
elseif ($user > 0) {
die ('<font color="red"><b>Podany login jest już zajęty !</font></b>'); // sprawdzanie czy login jest już zajęty }
elseif ($mail > 0) {
die ('<font color="red"><b>Podany mail jest już zajęty !</font></b>'); // sprawdzanie czy e-mail jest już zarejestrowany }
elseif ($token != $kod) {
die ('<font color="red"><b>Przepisany kod jest nie prawidłowy !</font></b>'); }
else {
mail("$email" , "$temat" , "$tresc" , "From: $od"); echo ('<font color="green"><b>Twoje konto zostało założone ! <br /> Możesz teraz się <a href="logowanie.php">zalogować</a> .</font></b>
'); // zakładanie konta, wysyłanie e-mail`a po rejestracji
}
}
?>
</body>
</html>