当前位置:首页 > PHP

php登陆注册功能实现

2026-02-27 17:05:02PHP

PHP 登录注册功能实现

数据库准备

创建一个名为 users 的表,包含以下字段:

  • id:自增主键
  • username:用户名,唯一
  • email:邮箱,唯一
  • password:密码(存储哈希值)
  • created_at:注册时间

SQL 示例:

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

注册功能实现

创建一个 register.php 文件,处理用户注册逻辑。

php登陆注册功能实现

<?php
// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = $_POST['username'];
    $email = $_POST['email'];
    $password = password_hash($_POST['password'], PASSWORD_DEFAULT);

    // 检查用户名或邮箱是否已存在
    $check = $conn->prepare("SELECT id FROM users WHERE username = ? OR email = ?");
    $check->bind_param("ss", $username, $email);
    $check->execute();
    $check->store_result();

    if ($check->num_rows > 0) {
        echo "用户名或邮箱已存在";
    } else {
        // 插入新用户
        $stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
        $stmt->bind_param("sss", $username, $email, $password);

        if ($stmt->execute()) {
            echo "注册成功";
        } else {
            echo "注册失败";
        }
    }
}
?>

登录功能实现

创建一个 login.php 文件,处理用户登录逻辑。

<?php
session_start();
$conn = new mysqli('localhost', 'username', 'password', 'database');

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

    $stmt = $conn->prepare("SELECT id, username, password FROM users WHERE username = ?");
    $stmt->bind_param("s", $username);
    $stmt->execute();
    $result = $stmt->get_result();

    if ($result->num_rows == 1) {
        $user = $result->fetch_assoc();

        if (password_verify($password, $user['password'])) {
            $_SESSION['user_id'] = $user['id'];
            $_SESSION['username'] = $user['username'];
            echo "登录成功";
        } else {
            echo "密码错误";
        }
    } else {
        echo "用户不存在";
    }
}
?>

登录状态检查

创建一个 check_login.php 文件,检查用户是否已登录。

php登陆注册功能实现

<?php
session_start();

if (isset($_SESSION['user_id'])) {
    echo "已登录,用户ID: " . $_SESSION['user_id'];
} else {
    echo "未登录";
}
?>

注销功能

创建一个 logout.php 文件,处理用户注销逻辑。

<?php
session_start();
session_destroy();
header("Location: login.php");
exit();
?>

安全注意事项

  1. 使用 password_hash()password_verify() 处理密码
  2. 使用预处理语句防止 SQL 注入
  3. 对用户输入进行验证和过滤
  4. 使用 HTTPS 加密传输数据
  5. 设置 CSRF 防护措施

前端表单示例

注册表单 (register_form.php):

<form action="register.php" method="post">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="email" name="email" placeholder="邮箱" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">注册</button>
</form>

登录表单 (login_form.php):

<form action="login.php" method="post">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>

标签: 功能php
分享给朋友:

相关文章

vue 实现收藏功能

vue 实现收藏功能

实现收藏功能的基本思路 在Vue中实现收藏功能通常涉及前端交互与后端数据存储的结合。核心逻辑包括:用户点击收藏按钮时切换状态,并通过API将状态同步到后端数据库。 前端组件实现 创建收藏按钮组件,使…

vue实现功能

vue实现功能

Vue 实现功能的方法 Vue.js 是一个流行的前端框架,用于构建用户界面。以下是几种常见的功能实现方法: 数据绑定 Vue 提供了双向数据绑定,可以通过 v-model 指令实现表单输入和应用状…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

php实现搜索

php实现搜索

PHP实现搜索功能的方法 在PHP中实现搜索功能通常涉及数据库查询和用户输入的匹配。以下是几种常见的实现方式: 使用MySQL LIKE语句 通过简单的LIKE语句实现基础搜索: $searchT…

php 实现购物车

php 实现购物车

PHP 实现购物车功能 购物车功能是电子商务网站的核心部分,可以通过 PHP 和 Session 或数据库来实现。以下是两种常见的实现方式: 使用 Session 存储购物车数据 Sessi…

php 实现验证码

php 实现验证码

使用 PHP 生成验证码 验证码(CAPTCHA)用于防止自动化脚本提交表单,以下是几种常见的 PHP 实现方法。 使用 GD 库生成图片验证码 GD 库是 PHP 的图像处理扩展,可用于生成验证码…