当前位置:首页 > PHP

php实现登录注册

2026-04-03 07:50:48PHP

PHP 登录注册实现

数据库准备

创建用户表 users,包含基本字段如 idusernamepassword(需加密存储)、email 等。示例 SQL:

php实现登录注册

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

注册功能

注册页面表单提交后,验证输入并插入数据库。密码需使用 password_hash 加密:

php实现登录注册

// 处理注册逻辑
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = trim($_POST['username']);
    $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
    $email = trim($_POST['email']);

    // 检查用户名和邮箱是否已存在
    $stmt = $pdo->prepare("SELECT id FROM users WHERE username = ? OR email = ?");
    $stmt->execute([$username, $email]);
    if ($stmt->fetch()) {
        die('用户名或邮箱已存在');
    }

    // 插入新用户
    $stmt = $pdo->prepare("INSERT INTO users (username, password, email) VALUES (?, ?, ?)");
    $stmt->execute([$username, $password, $email]);
    header('Location: login.php');
    exit;
}

登录功能

验证用户输入的用户名和密码是否匹配数据库记录:

session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = trim($_POST['username']);
    $password = $_POST['password'];

    // 查询用户信息
    $stmt = $pdo->prepare("SELECT id, username, password FROM users WHERE username = ?");
    $stmt->execute([$username]);
    $user = $stmt->fetch();

    if ($user && password_verify($password, $user['password'])) {
        $_SESSION['user_id'] = $user['id'];
        $_SESSION['username'] = $user['username'];
        header('Location: dashboard.php');
        exit;
    } else {
        die('用户名或密码错误');
    }
}

会话管理

登录成功后使用 $_SESSION 存储用户信息,后续页面通过检查会话验证登录状态:

session_start();
if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit;
}

安全建议

  • 使用 HTTPS 保护数据传输
  • 对用户输入进行过滤和验证,防止 SQL 注入
  • 设置密码强度要求
  • 实现 CSRF 保护
  • 限制登录尝试次数防止暴力破解

完整示例结构

/login.php       # 登录页面
/register.php    # 注册页面
/dashboard.php   # 登录后主页
/logout.php      # 注销处理
/includes/
    db.php       # 数据库连接
    functions.php # 公共函数

通过以上步骤可实现基础的 PHP 登录注册系统。根据实际需求可扩展邮件验证、密码重置等功能。

标签: php
分享给朋友:

相关文章

php实现socket

php实现socket

PHP 实现 Socket 通信 PHP 可以通过 socket 扩展实现网络通信,支持 TCP/UDP 协议。以下是实现 Socket 通信的核心步骤和代码示例。 创建 TCP 服务器 // 创建…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php实现接口

php实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不实现具体功能。类可以实现一个或多个接口,并必须实现接口中定义的所有方法。 定义接口 接口使用 inter…

php实现即时通讯

php实现即时通讯

PHP 实现即时通讯的方案 即时通讯(IM)可以通过多种方式实现,PHP 作为服务器端语言,通常需要结合前端技术(如 WebSocket、AJAX)或第三方服务来实现实时通信。以下是几种常见的实现方式…

php搜索功能实现

php搜索功能实现

实现基本的PHP搜索功能 使用MySQL数据库和PHP实现简单的关键词搜索功能。需要确保数据库中有可供搜索的表和数据。 // 连接数据库 $conn = new mysqli('localhost'…

php mvc实现

php mvc实现

PHP MVC 实现步骤 模型(Model)层 模型负责数据处理和业务逻辑,通常与数据库交互。创建一个基类模型,其他具体模型继承它。 class Model { protected $db;…