当前位置:首页 > PHP

php登陆注册功能实现

2026-02-13 18:17:43PHP

数据库准备

创建用户表(以MySQL为例):

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(255) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

注册功能实现

  1. 注册表单(register.html):

    <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>
  2. 注册处理逻辑(register.php):

    
    <?php
    $db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

$username = $_POST['username']; $email = $_POST['email']; $password = password_hash($_POST['password'], PASSWORD_DEFAULT);

$stmt = $db->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)"); $stmt->execute([$username, $email, $password]);

header("Location: login.html"); exit(); ?>


### 登录功能实现  
1. 登录表单(login.html):  
```html
<form action="login.php" method="post">
    <input type="email" name="email" placeholder="邮箱" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>
  1. 登录处理逻辑(login.php):
    
    <?php
    session_start();
    $db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

$email = $_POST['email']; $password = $_POST['password'];

$stmt = $db->prepare("SELECT * FROM users WHERE email = ?"); $stmt->execute([$email]); $user = $stmt->fetch();

if ($user && password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; header("Location: dashboard.php"); } else { echo "邮箱或密码错误"; } ?>

php登陆注册功能实现


### 会话管理与安全  
1. 密码哈希  
使用`password_hash()`和`password_verify()`确保密码安全存储与验证。  

2. 会话保护  
在受保护页面(如dashboard.php)检查会话:  
```php
<?php
session_start();
if (!isset($_SESSION['user_id'])) {
    header("Location: login.html");
    exit();
}
echo "欢迎访问仪表盘";
?>
  1. 防SQL注入
    始终使用预处理语句(如PDO的prepare()execute())处理用户输入。

扩展功能建议

  • 添加验证码防止机器人注册
  • 实现“记住我”功能(使用安全Cookie)
  • 密码重置流程
  • 邮箱验证功能

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

相关文章

vue实现桌面功能

vue实现桌面功能

Vue 实现桌面功能的方法 Vue.js 可以通过结合 Electron 或 NW.js 等框架实现桌面应用开发。以下是几种常见的方法: 使用 Vue 与 Electron 结合 Electron…

php实现文件上传

php实现文件上传

PHP 文件上传实现方法 在 PHP 中实现文件上传需要处理 HTML 表单和服务器端脚本。以下是详细步骤: 创建 HTML 表单 使用 enctype="multipart/form-data"…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常用…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_shi…

php实现

php实现

PHP 实现的基本方法 PHP 是一种服务器端脚本语言,广泛用于 Web 开发。以下是 PHP 实现的一些常见方法。 变量与数据类型 PHP 变量以 $ 开头,支持多种数据类型: $nam…