Home > Article > Backend Development > How to use php to implement user registration and login
Use PHP to implement user registration and login
In the modern Internet era, user registration and login are an inevitable process. As a web developer, it is very important to understand how to build user registration and login systems. This article will introduce how to use PHP to implement user registration and login.
Step 1: Create a database
Before we start, we need to create a database. We will use MySQL database. Create a table named "users" in MySQL that contains the id, username, and password fields. We can use the following SQL statement to create a table.
CREATE TABLE users
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(50) NOT NULL ,
password
varchar(255) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Step 2: Create a registration form
Now we need to create a user registration form. We will use HTML and PHP code to build the form.
<title>User Registration</title>
<h2>User Registration</h2> <form action="register.php" method="post"> <label>Username:</label><br> <input type="text" name="username" required><br> <label>Password:</label><br> <input type="password" name="password" required><br> <input type="submit" value="Register"> </form>
The above code creates an HTML form that contains username and password input boxes and a submit button. We set the "method" attribute to "post" and submit the form to "register.php".
Step 3: Process the registration form submission
Now we need to write the "register.php" file to process the registration form submission and store the user information in the database.
//Connect to the database
$servername = "localhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdatabase";
$conn = new mysqli($servername, $username, $password, $dbname);
//Check database connection
if ($ conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Get the value submitted by the form
$username = $_POST['username'];
$password = password_hash( $_POST['password'], PASSWORD_DEFAULT);
//Insert records into the database
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password') ";
if ($conn->query($sql) === TRUE) {
echo "Registration successful";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
The above code first connects to the database. It then gets the username and password from the submitted form value and stores the password hash into the database using the "password_hash" function. Finally, it executes a SQL statement to insert the username and hashed password into the "users" table.
Step 4: Create a login form
Now we need to create a user login form to verify the user's identity. We will use HTML and PHP code to create the form.
<title>User Login</title>
<h2>User Login</h2> <form action="login.php" method="post"> <label>Username:</label><br> <input type="text" name="username" required><br> <label>Password:</label><br> <input type="password" name="password" required><br> <input type="submit" value="Login"> </form>
The above code creates an HTML form that contains username and password input boxes and a submit button. We set the "method" attribute to "post" and submit the form to "login.php".
Step 5: Process the login form submission
Now we need to write the "login.php" file to process the login form submission and verify the user's identity.
//Connect to the database
$servername = "localhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdatabase";
$conn = new mysqli($servername, $username, $password, $dbname);
//Check database connection
if ($ conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Get the value submitted by the form
$username = $_POST['username'];
$password = $_POST ['password'];
//Retrieve user information from the database
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = $conn-> ;query($sql);
if ($result->num_rows == 1) {
$row = $result->fetch_assoc(); if (password_verify($password, $row['password'])) { echo "Login successful"; } else { echo "Invalid username or password"; }
} else {
echo "Invalid username or password";
}
$conn->close();
?>
The above code first connects to the database. It then gets the username and password from the submitted form values. Next, it executes a SELECT statement to retrieve the record containing that username from the "users" table. If a record is found, the password hash of that record is compared to the submitted password. If the passwords match, output "Login successful", otherwise output "Invalid username or password".
Summary
In this article, we use PHP and MySQL database to implement the user registration and login system. In this article, we learned how to:
In practical applications, we can modify and expand it as needed.
The above is the detailed content of How to use php to implement user registration and login. For more information, please follow other related articles on the PHP Chinese website!