session_start(); //Czy pola są wypełnione if(isset($_POST['phaslo'])) { $ok = true; $login = $_POST['login']; $haslo = $_POST['haslo']; $phaslo = $_POST['phaslo']; $email = $_POST['email']; //Sprawdzanie loginu if(strlen($login)<3 || strlen($login)>20) { $ok = false; $_SESSION['blogin'] = " Musi zawierać od 3 do 20 znaków!"; } if(ctype_alnum($login)==false) { $ok = false; $_SESSION['blogin'] = " Dozwolone są tylko znaki alfanumeryczne!"; } //Sprawdzanie e-maila $femail = filter_var($email, FILTER_SANITIZE_EMAIL); if(filter_var($femail, FILTER_VALIDATE_EMAIL==false) || $femail != $email) { $ok = false; $_SESSION['bemail']=" Niepoprawny e-mail!"; } //Sprawdzanie hasła if(strlen($haslo)<6 || strlen($haslo)>20) { $ok = false; $_SESSION['bhaslo'] = " Musi zawierać od 6 do 20 znaków!"; } //Sprawdzanie powtórzonego hasła if($haslo != $phaslo) { $ok = false; $_SESSION['bphaslo'] = " Hasła muszą być identyczne!"; } //Hashowanie hasła $hhaslo = password_hash($haslo, PASSWORD_DEFAULT); //reCaptcha $secretkey = "6LeAzw0UAAAAADI_WTQHn3wTym0eFydFMjAbewWO"; $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . $secretkey . '&response=' . $_POST['g-recaptcha-response']); $odpowiedz = json_decode($sprawdz); if($odpowiedz -> success==false) { $ok = false; $_SESSION['bcaptcha'] = " Captcha nieprawidłowa! Jesteś robotem?"; } //Zapamiętaj dane z formularza $_SESSION['zlogin'] = $login; $_SESSION['zhaslo'] = $haslo; $_SESSION['zphaslo'] = $phaslo; $_SESSION['zemail'] = $email; //Łączenie z bazą danych i wprowadzanie danych do bazy require_once "db.php"; mysqli_report(MYSQLI_REPORT_STRICT); try { $polacz = new mysqli($host, $db_user, $db_password, $db_name); if ($polacz->connect_errno!=0) { throw new Exception(mysqli_connect_errno()); } else { $result = $polacz -> query("SELECT id FROM uzytkownicy WHERE email='$email'"); if(!$result) throw new Exception($polacz -> error); $ile = $result -> num_rows; if($ile>0) { $ok = false; $_SESSION['bemail'] = " Podany e-mail jest już zajęty!"; } $result = $polacz -> query("SELECT id FROM uzytkownicy WHERE login='$login'"); if(!$result) throw new Exception($polacz -> error); $ile = $result -> num_rows; if($ile>0) { $ok = false; $_SESSION['blogin'] = " Podany login jest już zajęty!"; } if($ok==true) { if($polacz -> query("INSERT INTO uzytkownicy VALUES (NULL, '$login', '$hhaslo', '$email', 'kodweryfikacyjny');")) { $_SESSION['info'] = "Rejestracja przebiegła pomyślnie!"; header('Location: index.php'); } else { throw new Exception($polacz -> error); } } $polacz -> close(); } } catch(Exception $bserwer) { $_SESSION['blad'] = "Błąd serwera! Przepraszam za utrudnienia."; } } ?>