user registration database design code example
Example 1: php user login and registration
<?php
session_start();
// initializing variables
$username = "";
$email = "";
$errors = array();
// connect to the database
$db = mysqli_connect('localhost', 'root', '', 'registration');
// REGISTER USER
if (isset($_POST['reg_user'])) {
// receive all input values from the form
$username = mysqli_real_escape_string($db, $_POST['username']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$password_1 = mysqli_real_escape_string($db, $_POST['password_1']);
$password_2 = mysqli_real_escape_string($db, $_POST['password_2']);
// form validation: ensure that the form is correctly filled ...
// by adding (array_push()) corresponding error unto $errors array
if (empty($username)) { array_push($errors, "Username is required"); }
if (empty($email)) { array_push($errors, "Email is required"); }
if (empty($password_1)) { array_push($errors, "Password is required"); }
if ($password_1 != $password_2) {
array_push($errors, "The two passwords do not match");
}
// first check the database to make sure
// a user does not already exist with the same username and/or email
$user_check_query = "SELECT * FROM users WHERE username='$username' OR email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
if ($user) { // if user exists
if ($user['username'] === $username) {
array_push($errors, "Username already exists");
}
if ($user['email'] === $email) {
array_push($errors, "email already exists");
}
}
// Finally, register user if there are no errors in the form
if (count($errors) == 0) {
$password = md5($password_1);//encrypt the password before saving in the database
$query = "INSERT INTO users (username, email, password)
VALUES('$username', '$email', '$password')";
mysqli_query($db, $query);
$_SESSION['username'] = $username;
$_SESSION['success'] = "You are now logged in";
header('location: index.php');
}
}
// ...
Example 2: how to make a sign-up database
<html>
<head>
<title>PHP User Registration Form</title>
<link href="./css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form name="frmRegistration" method="post" action="">
<div class="demo-table">
<div class="form-head">Sign Up</div>
<?php
if (! empty($errorMessage) && is_array($errorMessage)) {
?>
<div class="error-message">
<?php
foreach($errorMessage as $message) {
echo $message . "<br/>";
}
?>
</div>
<?php
}
?>
<div class="field-column">
<label>Username</label>
<div>
<input type="text" class="demo-input-box"
name="userName"
value="<?php if(isset($_POST['userName'])) echo $_POST['userName']; ?>">
</div>
</div>
<div class="field-column">
<label>Password</label>
<div><input type="password" class="demo-input-box"
name="password" value=""></div>
</div>
<div class="field-column">
<label>Confirm Password</label>
<div>
<input type="password" class="demo-input-box"
name="confirm_password" value="">
</div>
</div>
<div class="field-column">
<label>Display Name</label>
<div>
<input type="text" class="demo-input-box"
name="firstName"
value="<?php if(isset($_POST['firstName'])) echo $_POST['firstName']; ?>">
</div>
</div>
<div class="field-column">
<label>Email</label>
<div>
<input type="text" class="demo-input-box"
name="userEmail"
value="<?php if(isset($_POST['userEmail'])) echo $_POST['userEmail']; ?>">
</div>
</div>
<div class="field-column">
<div class="terms">
<input type="checkbox" name="terms"> I accept terms
and conditions
</div>
<div>
<input type="submit"
name="register-user" value="Register"
class="btnRegister">
</div>
</div>
</div>
</form>
</body>
</html>