用php代码创建一个登录注册系统,要求连接数据库
时间: 2024-02-12 11:08:55 浏览: 32
好的,以下是一个简单的 PHP 登录注册系统示例,包含连接 MySQL 数据库的代码。
首先,需要在 MySQL 数据库中创建一个名为 `users` 的表,包含 `id`、`username`、`email`、`password` 字段。
接下来是连接数据库的 PHP 代码:
```php
<?php
$servername = "localhost"; // MySQL 服务器地址
$username = "username"; // MySQL 用户名
$password = "password"; // MySQL 密码
$dbname = "database"; // 数据库名称
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>
```
接下来是注册页面的 HTML 和 PHP 代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>注册</title>
</head>
<body>
<h2>注册</h2>
<form action="register.php" method="post">
<label>用户名:</label>
<input type="text" name="username" required><br><br>
<label>电子邮件:</label>
<input type="email" name="email" required><br><br>
<label>密码:</label>
<input type="password" name="password" required><br><br>
<input type="submit" value="注册">
</form>
</body>
</html>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
// 对密码进行加密
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// 插入新用户数据到数据库中
$sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$hashed_password')";
if (mysqli_query($conn, $sql)) {
echo "注册成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
?>
```
接下来是登录页面的 HTML 和 PHP 代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body>
<h2>登录</h2>
<form action="login.php" method="post">
<label>用户名或电子邮件:</label>
<input type="text" name="username_email" required><br><br>
<label>密码:</label>
<input type="password" name="password" required><br><br>
<input type="submit" value="登录">
</form>
</body>
</html>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username_email = $_POST["username_email"];
$password = $_POST["password"];
// 查询数据库中是否存在该用户
$sql = "SELECT * FROM users WHERE username='$username_email' OR email='$username_email'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
$hashed_password = $row["password"];
// 验证密码是否匹配
if (password_verify($password, $hashed_password)) {
echo "登录成功";
} else {
echo "密码错误";
}
} else {
echo "用户不存在";
}
}
?>
```
以上代码仅为示例,实际应用中还需要加入更多的安全性和验证逻辑。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)