当前位置:首页 > 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
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('loca…

php实现搜索功能

php实现搜索功能

实现基础搜索功能 使用PHP和MySQL实现基础的搜索功能需要结合表单提交与数据库查询。创建一个HTML表单用于接收用户输入的搜索关键词,通过PHP处理表单数据并查询数据库。 // 搜索表单 (HT…

前端实现拖拽功能vue

前端实现拖拽功能vue

使用 HTML5 拖放 API 在 Vue 中可以通过 HTML5 的原生拖放 API 实现拖拽功能。需要监听 dragstart、dragover 和 drop 事件。 <template&…

php实现文件上传

php实现文件上传

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

h5能实现的功能

h5能实现的功能

H5能实现的功能 H5(HTML5)是一种现代的网页技术标准,具备丰富的功能和特性,适用于多种场景。以下是H5能够实现的主要功能: 多媒体支持 H5原生支持音频和视频播放,无需依赖Flash等插件。…

php实现搜索

php实现搜索

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