21. PHP – rejestracja


Pracujemy na bazie z tematu PHP – logowanie

<?php

session_start();

include_once('conn_data.php');

//sprawdzamy czy się łączy w podejściu obiektowym

if ($db->connect_error) {

    die('Błąd połączenia: ' . $db->connect_error);

} else {

    if (isset($_POST['add'])) {        

        if (!empty($_POST['login']) && !empty($_POST['pass']) && !empty($_POST['rpass'])) {

            $login = addslashes(htmlspecialchars(trim($_POST['login'])));

            $pass = addslashes(htmlspecialchars(trim($_POST['pass'])));

            $rpass = addslashes(htmlspecialchars(trim($_POST['rpass'])));

       

            $check = "SELECT login FROM `users` WHERE login LIKE ?";

            $stmt = $db->prepare($check);      

            $stmt->bind_param("s", $login);

            $stmt->execute();

            $checked = $stmt->get_result();

           

            if (!$checked->num_rows) {

                if ($pass === $rpass) {

                    $pass = password_hash($pass, PASSWORD_BCRYPT);

                    $in = "INSERT INTO `users` (`login`, `pass`) VALUES (?, ?)";

                    $stmt = $db->prepare($in);      

                    $stmt->bind_param("ss", $login, $pass);

                    $stmt->execute();

                    if($stmt->affected_rows == 1) echo "<p>Konto zostało dodane</p>";

                    else echo "Coś poszło nie tak";

                } else {

                    echo "<p>hasła nie są takie same, konto nie zostało dodane</p>";

                }

            } else {

                echo "<p>login występuje w bazie danych, konto nie zostało dodane</p>";

            }

        } else {

            echo "<p>wypełnij wszystkie pola</p>";

        }

    }

}    

include_once('conn_close.php');

?>

<!DOCTYPE html>

<html>

<head>

    <title>Rejestracja</title>

    <meta charset="UTF-8">  

</head>

<body>

    <form action="" method="post">

        login: <input type="text" name="login"><br>

        haslo: <input type="password" name="pass"><br>

        powtórz hasło: <input type="password" name="rpass"><br>

        <button type="submit" name="add" value="add">Zarejestruj</button>

    </form>    

</body>

</html>