php登录注册页面完整代码
时间: 2023-07-26 20:42:24 浏览: 79
这里是一个简单的 PHP 登录注册页面的完整代码示例,包括 HTML、CSS 和 PHP 代码:
HTML 代码:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login / Register</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<div class="login-box">
<h2>Login</h2>
<form action="login.php" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" required>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" required>
</div>
<button type="submit" name="login">Login</button>
</form>
</div>
<div class="register-box">
<h2>Register</h2>
<form action="register.php" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" required>
</div>
<div class="form-group">
<label>Email</label>
<input type="email" name="email" required>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" required>
</div>
<div class="form-group">
<label>Confirm Password</label>
<input type="password" name="confirm_password" required>
</div>
<button type="submit" name="register">Register</button>
</form>
</div>
</div>
</body>
</html>
```
CSS 代码:
```
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.login-box, .register-box {
width: 350px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
padding: 20px;
margin-right: 20px;
}
.login-box h2, .register-box h2 {
margin-top: 0;
}
.form-group {
margin-bottom: 10px;
}
label {
display: block;
margin-bottom: 5px;
}
input[type="text"], input[type="email"], input[type="password"] {
width: 100%;
padding: 10px;
border-radius: 5px;
border: none;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
button[type="submit"] {
display: block;
width: 100%;
padding: 10px;
margin-top: 10px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 5px;
cursor: pointer;
}
```
PHP 注册页面代码(register.php):
```
<?php
session_start();
// Check if user is already logged in
if (isset($_SESSION['username'])) {
header('Location: home.php');
exit;
}
// Check if form is submitted
if (isset($_POST['register'])) {
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
// Check if passwords match
if ($password !== $confirm_password) {
$error = 'Passwords do not match.';
} else {
// Connect to database
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');
// Check if username or email already exists
$query = "SELECT * FROM users WHERE username='$username' OR email='$email'";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) > 0) {
$error = 'Username or email already exists.';
} else {
// Hash password
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// Insert user into database
$query = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$hashed_password')";
mysqli_query($conn, $query);
// Redirect to login page
header('Location: index.php');
exit;
}
}
}
?>
```
PHP 登录页面代码(login.php):
```
<?php
session_start();
// Check if user is already logged in
if (isset($_SESSION['username'])) {
header('Location: home.php');
exit;
}
// Check if form is submitted
if (isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
// Connect to database
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');
// Check if username exists
$query = "SELECT * FROM users WHERE username='$username'";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$hashed_password = $row['password'];
// Verify password
if (password_verify($password, $hashed_password)) {
// Set session variables
$_SESSION['username'] = $username;
// Redirect to home page
header('Location: home.php');
exit;
} else {
$error = 'Incorrect password.';
}
} else {
$error = 'Username not found.';
}
}
?>
```
相关推荐
![text/x-c++](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)