Siedze nad tym 3 godziny, kombinuje na różne sposoby i ciągle to samo... Za każdym razem gdy wpisze w formularzu poprawny kod z obrazka pisze ze niepoprawny, gdy nie poprawny to też to samo.
Sesje wychwytuje poprawnie ale źle porównuje czy sie zgadza z kodem wprowadzonym w formularzu. Kombinowałem na rózne sposoby, sprawdzałem gdzie może być błąd ale już mnie krew zalewa...
<?php
$_SESSION[\"token\"] = '';
$login = $_POST[\"login\"];
$haslo = $_POST[\"haslo\"];
function ShowForm($komunikat=\"\"){ //funkcja wyświetlająca formularz rejestracyjny
for($i=0;$i<5;$i++) {
$_SESSION['token'] .= $liczba;
$img .= '<img src=\"'.$liczba.'.gif\" >';
}
$komunikat
<div style='position: absolute; left: 50px; top: 50px'>
Login:
Hasło:
token:
$img
\";
}
?>
if($_POST[\"send\"]==1){ //sprawdzanie czy formularz został wysłany
if(!empty($login) && !empty($haslo) && !empty($_POST[\"token\"])) //oraz czy uzupełniono wszystkie dane
{
if ($_SESSION[\"token\"] == $_POST[\"token\"]){
if(preg_match('#^[A-Za-z0-9_]+$#', $login)){ //sprawdzenie poprawnosci znaków
if(preg_match('#^[A-Za-z0-9_]+$#', $haslo)){
if(mysql_num_rows(mysql_query(\"select * from users where user_login='\".htmlspecialchars($login.\"'\"))))ShowForm(\"Użytkownik o podanym loginie już istnieje!!!\");// sprawdzanie czy użytkownik o podanej nazwie już istnieje
else
{
mysql_query(\"insert into users values(NULL, '\".htmlspecialchars($login).\"', '\".htmlspecialchars(md5($haslo)).\"')\"); // zapisywanie rekordu do bazy
echo \"Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href="index.php">strony głównej i się zalogować.\";
}
}
else ShowForm(\"nie dozwolone znaki\");
}
else ShowForm(\"nie dozwolone znaki\");
}
else ShowForm(\"nie poprawny kod\");
}
else ShowForm(\"Nie uzupełniono wszystkich pól!!!\");
}
else ShowForm();
mysql_close(); //zamykanie połączenia z bazą
?>
</a href='index.php'></div style='position: absolute; left: 50px; top: 50px'></img src=\"'.$liczba.'.gif\" >
Ten post edytował predator 20.04.2008, 11:19:22