<?php 
session_start();
$pdo = new PDO('mysql:host=localhost;dbname=usertable', 'usertable', 'password');
?>
<!DOCTYPE html> 
<html> 
<head>
  <title>Register</title>    
</head> 
<body>
 
<?php
$showFormular = true;
 
if(isset($_GET['register'])) {
    $error = false;
    $email = $_POST['email'];
    $username = $_POST['username'];
    $givenName = $_POST['givenName'];
    $lastName = $_POST['lastName'];
    $password = $_POST['password'];
    $password_confirm = $_POST['password_confirm'];
  
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo 'Please use valid email<br>';
        $error = true;
    }     
    if(strlen($password) == 0) {
        echo 'Please enter password<br>';
        $error = true;
    }
    if($password != $password_confirm) {
        echo 'passwords doesnt match<br>';
        $error = true;
    }
    

    if(!$error) { 
        $statement = $pdo->prepare("SELECT * FROM users WHERE email = :email");
        $result = $statement->execute(array('email' => $email));
        $user = $statement->fetch();
        
        if($user !== false) {
            echo 'already a user here<br>';
            $error = true;
        }    
    }

    if(!$error) { 
        $statement = $pdo->prepare("SELECT * FROM users WHERE username = :username");
        $result = $statement->execute(array('username' => $username));
        $user = $statement->fetch();
        
        if($user !== false) {
            echo 'already a user here<br>';
            $error = true;
        }    
    }
    
    if(!$error) {    
        $password_hash = password_hash($password, PASSWORD_DEFAULT);
        
        $statement = $pdo->prepare("INSERT INTO users (email, username, givenName, lastName, password) VALUES (:email, :username, :givenName, :lastName, :password)");
        $result = $statement->execute(array('email' => $email, 'username' => $username, 'givenName' => $givenName, 'lastName' => $lastName, 'password' => $password_hash));
        
        if($result) {        
            echo 'successfull registered. <a href="login.php">Login</a>';
            $showFormular = false;
        } else {
            echo 'Error. Please try again!<br>';
        }
    } 
}
 
if($showFormular) {
?>
 
<form action="?register=1" method="post">
E-Mail:<br>
<input type="email" size="40" maxlength="250" name="email"><br><br>
Username:<br>
<input type="text" size="40" name="username"><br><br>
Given Name:<br>
<input type="text" size="40" name="givenName"><br><br>
Family Name:<br>
<input type="text" size="40" name="lastName"><br><br>
Password:<br>
<input type="password" size="40"  name="password"><br><br>
 
Password (aganin):<br>
<input type="password" size="40" name="password_confirm"><br><br>
 
<input type="submit" value="GO">
</form>
 
<?php
} 
?>
 
</body>
</html>