当前位置:首页 > 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);

php登陆注册功能实现

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

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

php登陆注册功能实现


### 登录功能实现  
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 "邮箱或密码错误"; } ?>


### 会话管理与安全  
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实现tab功能

vue实现tab功能

Vue 实现 Tab 功能的方法 使用动态组件和 v-if 指令 通过 v-if 或 v-show 控制不同 Tab 内容的显示与隐藏。这种方法适合简单的 Tab 切换需求。 <templat…

vue前端实现打印功能

vue前端实现打印功能

使用Vue实现前端打印功能 使用window.print()方法 Vue中可以直接调用浏览器的window.print()方法实现打印功能。这种方法简单快捷,适用于打印整个页面或特定区域。 meth…

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('loc…

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class Tr…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

php实现表单

php实现表单

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