<?php
session_start();
if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
{
header('Location: Ja');
exit();
}
if (isset($_POST['email']))
{
//udana walidacja
$wszystko_OK = true;
//czy jest dzień urodzin
$ud = $_POST['birthday_day'];
if($ud<1 || $ud>31)
{
$wszystko_OK = true;
$_SESSION['e_date']="!";
}
//czy jest miesiąc urodzin
$um = $_POST['birthday_month'];
if(strlen($um)<0)
{
$wszystko_OK = true;
$_SESSION['e_date']="!";
}
//czy ma odpowiednią ilość lat
$ur = $_POST['birthday_year'];
if($ur<1983 || $ur>2004)
{
$wszystko_OK = true;
$_SESSION['e_date']="!";
}
//post płci
$gender = $_POST['gender'];
//Długość nazwiska
$nazwisko = $_POST['nazwisko'];
if((strlen($nazwisko)<3) || (strlen($nazwisko)>20))
{
$wszystko_OK = true;
$_SESSION['e_nazwisko']="!";
}
//Długość imie
$imie = $_POST['imie'];
if ((strlen($imie)<3) || (strlen($imie)>20))
{
$wszystko_OK = false;
$_SESSION['e_nick']="!";
}
//sprawdź poprawność email'u
$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']="!";
}
//sprawdź hasło
$haslo = $_POST['haslo'];
$haslo1 = $_POST['haslo1'];
if ((strlen($haslo)<8) || (strlen($haslo)>20))
{
$wszystko_OK=false;
$_SESSION['e_haslo']="!";
}
if ($haslo != $haslo1 )
{
$wszystko_OK=false;
$_SESSION['e_haslo']="!";
}
$klucz = md5(mt_rand());
$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
//czy akceptowano regulamin?
if (!isset($_POST['regulamin']))
{
$wszystko_OK=false;
$_SESSION['e_regulamin']="!";
}
//easy in humans hard bot
$sekret = "6Le-kBkTAAAAAE6WhVhRIJO7rSSBeAVzsh5DryOX";
$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']="!";
}
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_maili = $rezultat->num_rows;
if($ile_maili>0)
{
$wszystko_OK=false;
$_SESSION['e_email']="!";
}
if ($wszystko_OK==true)
{
if($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$imie','$nazwisko','$ud','$um','$ur','$gender', '$haslo_hash', '$email',13222222,'$klucz',0)"))
{
$_SESSION['udana_rejestracja']=true;
header('Location:witamy.php');
}
else
{
throw new exception($polaczenie->error);
//i to mam błąd jak wcisnę rejestrój się exception 'Exception' with message 'Column count doesn't match value count at row 1' in D:\xampp\htdocs\classbook\index.php:147 Stack trace: #0 {main}
}
}
$polaczenie->close();
}
}
catch(Exception $e)
{
echo '<span style="color:red;">Błąd serwera!</span></br>'.$e;
echo'Informacja Developerska: '.$e;
}
}
?>