<?php
// odbieramy dane z formularza
$login = $_POST["login"];
$haslo = $_POST['haslo'];
$haslo2 = $_POST['haslo2'];
$email = $_POST['email'];
//pobieranie adresu IP
$adresip = $_SERVER["REMOTE_ADDR"];
//data dodania rekordu
$data = date("H:i:s d-m-Y");
//zmiana liter na małe
//walidacja loginu, czarna lista
$sprlogin = array('admin', 'administrator', 'admini', 'root', 'bin', 'daemon', 'adm', 'lp', 'sync', 'shutdown', 'halt', 'mail', 'news', 'uucp', 'operator', 'games', 'mysql', 'httpd', 'nobody', 'dummy', 'www',
'cvs', 'shell', 'ftp', 'irc', 'debian', 'ns', 'download',
' ') ;
//walidacja
if ((empty($_POST['login'])) || (empty($_POST['haslo'])) || (empty($_POST['email']))) {
if (in_array($login, $sprlogin)) { echo"Wybrany login jest zakazany.<br>"; $blad = '1'; } if (strlen($login)<3 or
strlen($login)>30 or
!eregi("^[a-zA-Z0-9_.]+$",$login)){ echo"Login musi mieć od 3 do 30 znaków bez polskich liter i spacji.<br>"; $blad = '1'; } if (strlen($haslo)<3 or
strlen($haslo)>32 or
!eregi("^[a-zA-Z0-9_.]+$",$haslo)){ echo"Hasło musi mieć od 3 do 32 znaków bez polskich liter i spacji.<br>"; $blad = '1'; } if (!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){ echo"błędny email<br>"; $blad = '1'; } if (!$login) { echo "Wypełnij pole login<br>"; $blad = '1'; } if (!$haslo) { echo "Wypełnij pole hasło<br>"; $blad = '1'; } if (!$email) { echo "Wypełnij pole email<br>"; $blad = '1'; }
$blad = '1';
}
//połączenie z bazą
include("connect.php");
//kodowanie MD5
//sprawdzanie czy login już istnieje
$sprawdzlogin = mysql_query("SELECT * FROM userdata WHERE login = '$login'");
if ($wyniksprawdz == 1) {
echo "Wybrany login już istnieje.wybierz inna nazwe"; $blad = '1';
}
if($blad != 1) {
$zapytanie = "INSERT INTO `userdata` (`id`, `login`, `haslo`, `email` , `data` , `adresip`) VALUES ('', '$login','$haslo','$email','$data','$adresip')";
echo "Użytkownik <b>" . $login . "</b> został zarejestrowany.<BR>przejdz do panelu logowania.";
}
?>
poprawiłem kod mając na uwadze Wasze wskazówki, ale teraz w ogóle nie działa walidacja pół formularza...