php登录注册页面完整代码
时间: 2023-09-08 09:17:09 浏览: 50
以下是一个简单的 PHP 登录注册页面的完整代码示例:
注册页面 (register.php):
```php
<?php
session_start();
$conn = mysqli_connect("localhost", "username", "password", "database_name");
if(isset($_POST['register'])) {
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$encrypted_password = password_hash($password, PASSWORD_DEFAULT);
$query = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$encrypted_password')";
if(mysqli_query($conn, $query)) {
$_SESSION['message'] = "You are now registered";
header("location: login.php");
} else {
$_SESSION['message'] = "Registration failed";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Registration Page</title>
</head>
<body>
<?php
if(isset($_SESSION['message'])) {
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>
<form method="post" action="register.php">
<input type="text" name="username" placeholder="Username" required><br>
<input type="email" name="email" placeholder="Email" required><br>
<input type="password" name="password" placeholder="Password" minlength="6" required><br>
<input type="submit" name="register" value="Register">
</form>
</body>
</html>
```
登录页面 (login.php):
```php
<?php
session_start();
$conn = mysqli_connect("localhost", "username", "password", "database_name");
if(isset($_POST['login'])) {
$email = $_POST['email'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE email='$email'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
if(password_verify($password, $row['password'])) {
$_SESSION['user_id'] = $row['id'];
$_SESSION['username'] = $row['username'];
header("location: dashboard.php");
} else {
$_SESSION['message'] = "Incorrect password";
}
} else {
$_SESSION['message'] = "Account not found";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<?php
if(isset($_SESSION['message'])) {
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>
<form method="post" action="login.php">
<input type="email" name="email" placeholder="Email" required><br>
<input type="password" name="password" placeholder="Password" required><br>
<input type="submit" name="login" value="Login">
</form>
</body>
</html>
```
在这个示例中,我们使用了 MySQL 数据库来存储用户的注册信息。在注册时,我们使用 `password_hash()` 函数来加密用户密码,并将加密后的密码存储在数据库中。在登录时,我们使用 `password_verify()` 函数来验证用户输入的密码是否与数据库中存储的密码匹配。如果匹配成功,则将用户 ID 和用户名存储在会话中,并重定向到仪表板页面。