Mam stronkę i potrzebuję zrobić do niej rejestrację (wiem, że to jeden z najczęściej poruszanych tematów). Ponieważ nie lubię gotowców piszę własny skrypt. Po wrzuceniu na serwer wyświetla się, że niby w pliku rejestracja.php jest błąd. Dlaczego i jak to poprawić? Po drugie czy ten skrypt jest bezpieczny, a jeśli nie, to co zrobić, żeby był bezpieczny. A i jeszcze jedno, nie pytajcie po co mi i nick i login... Oto kody:
!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"> .style1
{
width: 160px;
}
.style2
{
width: 182px;
}
<form id="form1" action="rejestracja.php" method="post">
<td align="center" colspan="2">
<input type="text" name="nick"/></td>
<input type="text" name="login"/></td> <td align="right" class="style2"> <input type="password" name="haslo" /> <td align="right" class="style2"> <input type="password" name="vhaslo" /> <td align="right" class="style2"> E-mail:
<input type="text" name="email" /> <td align="right" class="style2"> Pytanie bezpieczeństwa:
</td> <input type="text" name="pytanie" /> <td align="right" class="style2"> <input type="text" name="odpowiedz" /> <td align="right" class="style2">Płeć:
<td align="right" class="style2">Podaj sumę długości loginu i 2:
</td> <td class="style1"><input type="text" name="token" /></td> <td align="center" colspan="2"> <input id="Reset1" type="reset" value="Reset" /> <input type="submit" value="Wyślij" /></td>
<?php
$nick = $_POST['nick'];
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$vhaslo = $_POST['vhaslo'];
$email = $_POST['email'];
$pytanie = $_POST['pytanie'];
$odpowiedz = $_POST['odpowiedz'];
$token = $_POST['token'];
$bledy = 0;
if($haslo != $vhaslo)
{
echo "Hasła nie są takie same!"; $bledy++;
}
{
echo "Hasło musi mieć od 6 do 12 znaków!"; $bledy++;
}
{
echo "Nick musi mieć od 3 do 15 znaków!"; $bledy++;
}
{
echo "Login musi mieć od 3 do 12 znaków!"; $bledy++;
}
{
echo "E-mail musi mieć od 6 do 30 znaków!"; $bledy++;
}
{
echo "Pytanie i odpowiedź muszą mieć przynajmniej 5 znaków!"; $bledy++;
}
if($_POST['plec'] == brak)
{
echo "Musisz wybrać płeć!"; $bledy++;
}
else
{
$plec = $_POST['plec'];
}
if($token != $token2)
{
echo "Niepoprawny token"; }
$connection = @mysql_connect('mniejsza o to', 'mniejszaoto', 'mniejsza o to'); $sprawdz = mysql_query('SELECT * FROM table WHERE nick = '.$nick.'') if($zajete = 0)
{
}
else
{
echo "Podany nick, jest już zajęty!"; $bledy++;
}
if($bledy == 0)
{
$zapytanie = "INSERT INTO `players` (`id`, `nick`, `login`, `haslo` , `email` , `pytanie` , `odpowiedz` , `plec`) VALUES ('', '$nick', '$login', '$haslo', '$email', '$pytanie', '$odpowiedz', '$plec')";
}
?>