PHP实现用户注册和登录功能

本教程将引导您使用PHP和MySQL数据库实现简单的用户注册和登录功能。

步骤一:创建数据库和用户表

  1. 创建名为lusong的数据库。2. 在lusong数据库中创建名为users的表,包含以下字段: - id: INT, 自增主键 - account: VARCHAR(255), 账户名,唯一 - password: VARCHAR(100), 密码sqlCREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, account VARCHAR(255) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL);

**步骤二:编写注册页面 (register.php)**php<?php// 数据库连接信息$servername = 'localhost';$username = 'root';$password = '123';$dbname = 'lusong';

// 创建数据库连接$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功if ($conn->connect_error) { die('数据库连接失败: ' . $conn->connect_error);}

// 检查是否有POST数据if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 获取注册页面中的账号和密码数据 $account = isset($_POST['account']) ? $_POST['account'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : '';

// 检查账号和密码是否为空    if (empty($account) || empty($password)) {        die('账号和密码不能为空');    }

// 使用预处理语句来插入数据,防止SQL注入攻击    $stmt = $conn->prepare('INSERT INTO users (account, password) VALUES (?, ?)');    $stmt->bind_param('ss', $account, $password);

// 执行预处理语句    if ($stmt->execute()) {        // 提示注册成功        echo '注册成功';

    // 跳转到登录页面        header('Location: login.php');        exit;    } else {        // 注册失败,输出错误信息        echo '注册失败: ' . $stmt->error;    }

// 关闭预处理语句    $stmt->close();}

// 关闭数据库连接$conn->close();?>

用户注册

注册

    <tr>            <td>密码:</td>            <td>                <input type='password' name='password' maxlength='100'>            </td>        </tr>        <tr>            <td></td>            <td>                <input type='submit' value='注册'>            </td>        </tr>

</table></form></body></html>

**步骤三:编写登录页面 (login.php)**php<?php// 数据库连接信息$servername = 'localhost';$username = 'root';$password = '123';$dbname = 'lusong';

// 创建数据库连接$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功if ($conn->connect_error) { die('数据库连接失败: ' . $conn->connect_error);}

// 检查是否有POST数据if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 获取登录页面中的账号和密码数据 $account = isset($_POST['account']) ? $_POST['account'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : '';

// 检查账号和密码是否为空    if (empty($account) || empty($password)) {        die('账号和密码不能为空');    }

// 使用预处理语句查询数据,防止SQL注入攻击    $stmt = $conn->prepare('SELECT * FROM users WHERE account = ? AND password = ?');    $stmt->bind_param('ss', $account, $password);

// 执行预处理语句    $stmt->execute();

// 获取查询结果    $result = $stmt->get_result();

// 检查查询结果是否有数据    if ($result->num_rows > 0) {        // 登录成功,跳转到目标页面        header('Location: 9.html');        exit;    } else {        // 登录失败        echo '登录失败';    }

// 关闭预处理语句    $stmt->close();}

// 关闭数据库连接$conn->close();?>

用户登录

登录

账号:
账号:
密码:
若没有账户,可点击此按钮进行注册

代码说明:

  • 以上代码实现了简单的用户注册和登录功能。- 使用预处理语句防止SQL注入攻击,提高安全性。- 注册成功后自动跳转到登录页面。- 登录成功后跳转到目标页面 (9.html)。

注意事项:

  • 请根据实际情况修改数据库连接信息和目标页面地址。- 以上代码仅供学习参考,实际应用中需要根据需求进行修改和完善。- 建议对用户密码进行加密存储,例如使用bcrypt或argon2算法。- 添加错误处理机制,例如在注册失败时显示具体的错误信息。- 完善用户体验,例如在登录失败时提示用户错误信息。

希望本教程能够帮助您理解如何使用PHP实现用户注册和登录功能。

PHP实现用户注册和登录功能

原文地址: https://www.cveoy.top/t/topic/fzHb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录