php和mysql做一个登录界面
时间: 2024-05-13 21:14:27 浏览: 15
好的,以下是一个简单的 PHP 和 MySQL 实现登录界面的示例:
1. 创建数据库
首先,我们需要创建一个数据库和一张用户表。可以使用 MySQL 命令行或者图形化工具(如 phpMyAdmin)来完成。
```sql
CREATE DATABASE user_db;
USE user_db;
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL
);
```
2. 编写登录页面
创建一个 HTML 页面,包含一个表单,用于输入用户名和密码。
```html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form action="login.php" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
3. 编写 PHP 脚本
创建一个名为 `login.php` 的 PHP 脚本,用于验证用户输入的用户名和密码,并将用户重定向到一个 welcome 页面。
```php
<?php
session_start();
if (isset($_POST['username']) && isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'user_db');
if (!$conn) {
die('Connection failed: ' . mysqli_connect_error());
}
// 查询用户
$sql = "SELECT * FROM users WHERE username='$username'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$user = mysqli_fetch_assoc($result);
if (password_verify($password, $user['password'])) {
// 用户名和密码验证成功
$_SESSION['user_id'] = $user['id'];
header('Location: welcome.php');
exit();
} else {
// 密码不正确
echo 'Invalid password';
}
} else {
// 用户名不存在
echo 'User not found';
}
mysqli_close($conn);
}
?>
```
4. 创建 welcome 页面
创建一个名为 `welcome.php` 的 PHP 页面,用于欢迎用户登录。
```php
<?php
session_start();
if (!isset($_SESSION['user_id'])) {
header('Location: login.html');
exit();
}
// 显示欢迎信息
echo 'Welcome, user #' . $_SESSION['user_id'];
?>
```
这就是一个简单的 PHP 和 MySQL 实现登录界面的示例。需要注意的是,该示例仅作为参考,实际应用中需要更多的安全性和验证。