豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: PHP源码会员系统

🤖 Ai回答:
在PHP中开发一个会员系统是一个常见的Web应用需求。以下是一个基础的会员系统源码框架,包含用户注册、登录、权限控制、会话管理等功能。该系统使用原生PHP和MySQL数据库,适合初学者学习和扩展。

✅ 功能模块

1、用户注册(含邮箱验证)
2、用户登录/登出
3、会话管理(Session)
4、权限控制(普通用户、管理员)
5、数据库连接(PDO)
6、基础安全措施(密码加密、SQL注入防护)

📁 文件结构

会员系统/

├── config/
│ └── db.php // 数据库配置

├── includes/
│ ├── db.php // 数据库连接类
│ └── functions.php // 公共函数

├── pages/
│ ├── register.php // 注册页面
│ ├── login.php // 登录页面
│ ├── logout.php // 登出页面
│ ├── dashboard.php // 用户主页
│ └── admin.php // 管理员页面

├── assets/
│ └── css/style.css // 样式文件

└── index.php // 首页

🔧 1、数据库设计(MySQL)

sql
CREATE DATABASE IF NOT EXISTS member_system;
USE member_system;

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,
role ENUM('user', 'admin') DEFAULT 'user',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT FALSE
);

📂 2、`config/db.php`

php
<?php
$host = 'localhost';
$db = 'member_system';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';

$dsn = mysql:host=$host;dbname=$db;charset=$charset;
$options = [
PDO::ATTR_ERRMODE = PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE = PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES = false,
];

try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e-getMessage(), (int)$e-getCode());
}
?

📂 3、`includes/functions.php`

php
<?php
function sanitize($data) {
return htmlspecialchars(strip_tags(trim($data)));
}

function hashPassword($password) {
return password_hash($password, PASSWORD_DEFAULT);
}

function verifyPassword($password, $hash) {
return password_verify($password, $hash);
}

function isLoggedIn() {
return isset($_SESSION['user_id']);
}

function isAdmin() {
return isset($_SESSION['role']) && $_SESSION['role'] === 'admin';
}

function redirect($url) {
header(Location: $url);
exit();
}
?

📂 4、`pages/register.php`

php
<?php
session_start();
require_once '../includes/functions.php';
require_once '../config/db.php';

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

if ($password !== $confirm) {
$error = 密码不一致;
} else {
$stmt = $pdo-prepare(SELECT * FROM users WHERE username = ? OR email = ?);
$stmt-execute([$username, $email]);
if ($stmt-rowCount() 0) {
$error = 用户名或邮箱已存在;
} else {
$hashed = hashPassword($password);
$stmt = $pdo-prepare(INSERT INTO users (username, email, password) VALUES (?, ?, ?));
if ($stmt-execute([$username, $email, $hashed])) {
$_SESSION['message'] = 注册成功,请登录;
redirect('login.php');
} else {
$error = 注册失败,请重试;
}
}
}
}
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title注册</title
<link rel=stylesheet href=../assets/css/style.css
</head
<body
<div class=container
<h2用户注册</h2
<?php if (isset($error)) echo <p style='color:red;'$error</p; ?
<form method=POST
<input type=text name=username placeholder=用户名 required<br
<input type=email name=email placeholder=邮箱 required<br
<input type=password name=password placeholder=密码 required<br
<input type=password name=confirm placeholder=确认密码 required<br
<button type=submit注册</button
</form
<p已有账号?<a href=login.php立即登录</a</p
</div
</body
</html

📂 5、`pages/login.php`

php
<?php
session_start();
require_once '../includes/functions.php';
require_once '../config/db.php';

if (isLoggedIn()) {
redirect('dashboard.php');
}

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

$stmt = $pdo-prepare(SELECT * FROM users WHERE username = ?);
$stmt-execute([$username]);
$user = $stmt-fetch();

if ($user && verifyPassword($password, $user['password'])) {
if (!$user['is_active']) {
$error = 账号未激活,请检查邮箱;
} else {
$_SESSION['user_id'] = $user['id'];
$_SESSION['username'] = $user['username'];
$_SESSION['role'] = $user['role'];
redirect('dashboard.php');
}
} else {
$error = 用户名或密码错误;
}
}
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title登录</title
<link rel=stylesheet href=../assets/css/style.css
</head
<body
<div class=container
<h2用户登录</h2
<?php if (isset($error)) echo <p style='color:red;'$error</p; ?
<form method=POST
<input type=text name=username placeholder=用户名 required<br
<input type=password name=password placeholder=密码 required<br
<button type=submit登录</button
</form
<p没有账号?<a href=register.php立即注册</a</p
</div
</body
</html

📂 6、`pages/dashboard.php`

php
<?php
session_start();
require_once '../includes/functions.php';
if (!isLoggedIn()) {
redirect('login.php');
}
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title用户中心</title
<link rel=stylesheet href=../assets/css/style.css
</head
<body
<div class=container
<h2欢迎,<?php echo $_SESSION['username']; ?!</h2
<p角色:<?php echo isAdmin() ? '管理员' : '普通用户'; ?</p
<a href=logout.php退出登录</a
<?php if (isAdmin()): ?
<h3管理员功能</h3
<a href=admin.php管理用户</a
<?php endif; ?
</div
</body
</html

📂 7、`pages/logout.php`

php
<?php
session_start();
session_destroy();
redirect('login.php');
?

📂 8、`pages/admin.php`(管理员页面)

php
<?php
session_start();
require_once '../includes/functions.php';
if (!isLoggedIn() !isAdmin()) {
redirect('login.php');
}
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title管理员面板</title
<link rel=stylesheet href=../assets/css/style.css
</head
<body
<div class=container
<h2管理员面板</h2
<p欢迎,<?php echo $_SESSION['username']; ?!</p
<a href=dashboard.php返回主页</a
<h3用户列表</h3
<?php
$stmt = $pdo-query(SELECT * FROM users);
while ($row = $stmt-fetch()) {
echo <p{$row['username']} ({$row['email']}) {$row['role']} 、($row['is_active'] ? '已激活' : '未激活') 、</p;
}
?
</div
</body
</html

Ai作答

📣 商家广告


广告招商

月饼

取名

广东过滤器

广告招商


0

IP地址: 234.106.80.86

搜索次数: 0

提问时间: 2025-11-05 21:29:04

🛒 域名购买
862.net.cn
7.hk.cn
sbnjt.net
chuisou.com.cn
chxk.cn
8333.top
te.biz
83.gs
xc6.net
yq.gs

❓️ 热门提问
站群系统开发成本控制策略
迷你电脑小主机
万网 域名
sip录音服务器
机房精密空调十大品牌排行榜
.co域名怎么样
国产web服务器
搬瓦工优惠码2020
境外虚拟空间
新加坡vps云主机性能对比
豌豆Ai站群搜索引擎系统

🌐 域名评估
vv.ah.cn
uav.hn.cn
toui.cn
jq.gs
zz.sc.cn
vtol.ac.cn
trump.ln.cn
04.gs
emojiall.com
byd.gx.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
검색엔진  站群工具  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 65358 65359 65360 下一篇