users can now register correctly

This commit is contained in:
Louis Vallat 2019-11-10 00:14:20 +01:00
parent 4141eaf3ea
commit 6256ca71ce

134
register.php Normal file
View File

@ -0,0 +1,134 @@
<?php
// Include util functions
require_once("./assets/php/utils.php");
// Check if the user is already logged in, if yes then redirect him to welcome page
if (is_connected()) {
header("location: welcome.php");
exit;
}
// Define variables and initialize with empty values
$username = $password = $confirm_password = $first_name = $last_name = "";
$username_err = $password_err = $confirm_password_err = $first_name_err = $last_name_err = "";
// Processing form data when form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Validate username
if (empty(trim($_POST["username"]))) {
$username_err = "Please enter an email address.";
} else {
if (get_username_count(trim($_POST["username"])) >= 1) {
$username_err = "This email is already taken.";
} else {
$username = trim($_POST["username"]);
}
}
// Validate password
if (empty(trim($_POST["password"]))) {
$password_err = "Please enter a password.";
} elseif (strlen(trim($_POST["password"])) < 6) {
$password_err = "Password must have atleast 6 characters.";
} else {
$password = trim($_POST["password"]);
}
// Validate confirm password
if (empty(trim($_POST["confirm_password"]))) {
$confirm_password_err = "Please confirm password.";
} else {
$confirm_password = trim($_POST["confirm_password"]);
if (empty($password_err) && ($password != $confirm_password)) {
$confirm_password_err = "Password did not match.";
}
}
if (empty(trim($_POST["first_name"]))) {
$first_name_err = "Please input your first name.";
} else {
$first_name = trim($_POST["first_name"]);
}
if (empty(trim($_POST["last_name"]))) {
$last_name_err = "Please input your last name.";
} else {
$last_name = trim($_POST["last_name"]);
}
// Check input errors before inserting in database
if (
empty($username_err) && empty($password_err)
&& empty($confirm_password_err) && empty($first_name_err)
&& empty($last_name_err)
) {
if (add_user($username, $first_name, $last_name, $password)) {
// Redirect to login page
header("location: login.php");
} else {
echo "Something went wrong. Please try again later.";
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sign Up</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
<style type="text/css">
body {
font: 14px sans-serif;
}
.wrapper {
width: 350px;
padding: 20px;
}
</style>
</head>
<body>
<div class="wrapper">
<h2>Sign Up</h2>
<p>Please fill this form to create an account.</p>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
<label>Username</label>
<input type="text" name="username" class="form-control" value="<?php echo $username; ?>">
<span class="help-block"><?php echo $username_err; ?></span>
</div>
<div class="form-group <?php echo (!empty($first_name_err)) ? 'has-error' : ''; ?>">
<label>First name</label>
<input type="text" name="first_name" class="form-control" value="<?php echo $first_name; ?>">
<span class="help-block"><?php echo $first_name_err; ?></span>
</div>
<div class="form-group <?php echo (!empty($last_name_err)) ? 'has-error' : ''; ?>">
<label>Last name</label>
<input type="text" name="last_name" class="form-control" value="<?php echo $last_name; ?>">
<span class="help-block"><?php echo $last_name_err; ?></span>
</div>
<div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
<label>Password</label>
<input type="password" name="password" class="form-control" value="<?php echo $password; ?>">
<span class="help-block"><?php echo $password_err; ?></span>
</div>
<div class="form-group <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>">
<label>Confirm Password</label>
<input type="password" name="confirm_password" class="form-control" value="<?php echo $confirm_password; ?>">
<span class="help-block"><?php echo $confirm_password_err; ?></span>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Submit">
<input type="reset" class="btn btn-default" value="Reset">
</div>
<p>Already have an account? <a href="login.php">Login here</a>.</p>
</form>
</div>
</body>
</html>