php 注册 登录 demo
时间: 2023-09-14 21:08:49 浏览: 44
这是一个简单的 PHP 注册登录系统的 demo,包含了用户注册、登录、注销和个人信息页面。
首先,需要创建一个数据库和用户表。可以使用以下 SQL 语句创建:
```
CREATE DATABASE users;
USE users;
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;
```
然后,创建一个 `config.php` 文件,包含以下代码:
```php
<?php
$db_host = "localhost"; // 数据库主机
$db_name = "users"; // 数据库名
$db_user = "root"; // 数据库用户名
$db_password = ""; // 数据库密码
// 连接数据库
$conn = mysqli_connect($db_host, $db_user, $db_password, $db_name);
// 检查连接
if (!$conn) {
die("连接失败:" . mysqli_connect_error());
}
?>
```
接下来,创建一个 `register.php` 文件,用于用户注册:
```php
<?php
require_once "config.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 检查用户名是否已存在
$sql = "SELECT id FROM users WHERE username = '$username'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo "用户名已存在!";
} else {
// 插入新用户
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
if (mysqli_query($conn, $sql)) {
echo "注册成功!";
} else {
echo "注册失败:" . mysqli_error($conn);
}
}
mysqli_close($conn);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<h2>注册</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
然后,创建一个 `login.php` 文件,用于用户登录:
```php
<?php
require_once "config.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 验证用户名和密码
$sql = "SELECT id FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
session_start();
$_SESSION["username"] = $username;
header("location: profile.php");
} else {
echo "用户名或密码错误!";
}
mysqli_close($conn);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<h2>登录</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
接着,创建一个 `profile.php` 文件,用于显示用户个人信息:
```php
<?php
session_start();
if (!isset($_SESSION["username"])) {
header("location: login.php");
exit;
}
$username = $_SESSION["username"];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>个人信息</title>
</head>
<body>
<h2>个人信息</h2>
<p>用户名:<?php echo $username; ?></p>
<a href="logout.php">注销</a>
</body>
</html>
```
最后,创建一个 `logout.php` 文件,用于用户注销:
```php
<?php
session_start();
session_unset();
session_destroy();
header("location: login.php");
exit;
?>
```
以上就是一个简单的 PHP 注册登录系统的 demo,可以根据需要进行修改和扩展。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)