20))
{
$wszystko_OK=false;
$_SESSION['e_nick']="Nick musi posiadać od 3 do 20 znaków!";
}
if (ctype_alnum($nick)==false)
{
$wszystko_OK=false;
$_SESSION['e_nick']="Nick może składać się tylko z liter i cyfr (bez polskich znaków)";
}
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
// Sprawdź poprawność adresu email
$email = $_POST['email'];
$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
{
$wszystko_OK=false;
$_SESSION['e_email']="Podaj poprawny adres e-mail!";
}
//Sprawdź poprawność hasła
$haslo1 = $_POST['haslo1'];
$haslo2 = $_POST['haslo2'];
if ((strlen($haslo1)<8) || (strlen($haslo1)>20))
{
$wszystko_OK=false;
$_SESSION['e_haslo']="Hasło musi posiadać od 8 do 20 znaków!";
}
if ($haslo1!=$haslo2)
{
$wszystko_OK=false;
$_SESSION['e_haslo']="Podane hasła nie są identyczne!";
}
$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
//Czy zaakceptowano regulamin?
if (!isset($_POST['regulamin']))
{
$wszystko_OK=false;
$_SESSION['e_regulamin']="Potwierdź akceptację regulaminu!";
}
//Bot or not? Oto jest pytanie!
$sekret = "6LdF4iEaAAAAAF58_FmfKBBTpM0IVdGphVyTMGAl";
$sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
$odpowiedz = json_decode($sprawdz);
if ($odpowiedz->success==false)
{
$wszystko_OK=false;
$_SESSION['e_bot']="Potwierdź, że nie jesteś botem!";
}
//Zapamiętaj wprowadzone dane
$_SESSION['fr_nick'] = $nick;
$_SESSION['fr_imie'] = $imie;
$_SESSION['fr_nazwisko'] = $nazwisko;
$_SESSION['fr_email'] = $email;
$_SESSION['fr_haslo1'] = $haslo1;
$_SESSION['fr_haslo2'] = $haslo2;
if (isset($_POST['regulamin'])) $_SESSION['fr_regulamin'] = true;
require_once "connect.php";
mysqli_report(MYSQLI_REPORT_STRICT);
try
{
$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
throw new Exception(mysqli_connect_errno());
}
else
{
//Czy email już istnieje?
$rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE email='$email'");
if (!$rezultat) throw new Exception($polaczenie->error);
$ile_takich_maili = $rezultat->num_rows;
if($ile_takich_maili>0)
{
$wszystko_OK=false;
$_SESSION['e_email']="Istnieje już konto przypisane do tego adresu e-mail!";
}
//Czy nick jest już zarezerwowany?
$rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE user='$nick'");
if (!$rezultat) throw new Exception($polaczenie->error);
$ile_takich_nickow = $rezultat->num_rows;
if($ile_takich_nickow>0)
{
$wszystko_OK=false;
$_SESSION['e_nick']="Istnieje już gracz o takim nicku! Wybierz inny.";
}
if ($wszystko_OK==true)
{
//Hurra, wszystkie testy zaliczone, dodajemy gracza do bazy
$obecna_data=date("Y-m-d");
if ($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$nick', '$imie', '$nazwisko', '$haslo_hash', '$email', 3, '$obecna_data')"))
{
$_SESSION['udanarejestracja']=true;
header('Location: witamy.php');
}
else
{
throw new Exception($polaczenie->error);
}
}
$polaczenie->close();
}
}
catch(Exception $e)
{
echo 'Błąd serwera! Przepraszamy za niedogodności i prosimy o rejestrację w innym terminie!';
echo '
Informacja developerska: '.$e;
}
}
?>