PHP在线会员积分管理系统实战

admin 2025-01-13 535 0

在当今数字化时代,会员积分管理系统已成为许多商家提升客户忠诚度和活跃度的重要工具。本文将带你一步步用PHP搭建一个简易但功能完备的在线会员积分管理系统。

PHP在线会员积分管理系统实战

项目背景

随着电商和线下零售的融合发展,会员积分管理系统能有效提升用户体验,增加用户粘性。PHP作为一种成熟且高效的编程语言,特别适合快速开发此类系统。

系统需求分析

功能需求

  1. 用户注册与登录:用户可以注册账号并登录系统。
  2. 积分获取:用户通过特定行为(如购物、签到)获取积分。
  3. 积分消费:用户可以使用积分兑换商品或服务。
  4. 积分查询:用户可以查询自己的积分余额和历史记录。

技术需求

  • 前端:HTML、CSS、JavaScript
  • 后端:PHP、MySQL
  • 服务器:Apache/Nginx

数据库设计

用户表(users)

字段名 类型 说明
id INT 用户ID
username VARCHAR 用户名
password VARCHAR 密码(加密存储)
points INT 积分余额

积分记录表(points_log)

字段名 类型 说明
id INT 记录ID
user_id INT 用户ID
points INT 变动积分
type TINYINT 类型(1:获取, 2:消费)
created_at DATETIME 记录时间

后端实现

用户注册与登录

// register.php
<?php
include 'db.php';

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

$query = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
mysqli_query($conn, $query);
echo "注册成功!";
?>
// login.php
<?php
include 'db.php';

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

$query = "SELECT * FROM users WHERE username='$username'";
$result = mysqli_query($conn, $query);
$user = mysqli_fetch_assoc($result);

if (password_verify($password, $user['password'])) {
    echo "登录成功!";
} else {
    echo "登录失败!";
}
?>

积分获取与消费

// add_points.php
<?php
include 'db.php';

$user_id = $_POST['user_id'];
$points = $_POST['points'];

$query = "UPDATE users SET points = points + $points WHERE id=$user_id";
mysqli_query($conn, $query);

$log_query = "INSERT INTO points_log (user_id, points, type, created_at) VALUES ($user_id, $points, 1, NOW())";
mysqli_query($conn, $log_query);
echo "积分添加成功!";
?>
// spend_points.php
<?php
include 'db.php';

$user_id = $_POST['user_id'];
$points = $_POST['points'];

$query = "SELECT points FROM users WHERE id=$user_id";
$result = mysqli_query($conn, $query);
$user = mysqli_fetch_assoc($result);

if ($user['points'] >= $points) {
    $update_query = "UPDATE users SET points = points - $points WHERE id=$user_id";
    mysqli_query($conn, $update_query);

    $log_query = "INSERT INTO points_log (user_id, points, type, created_at) VALUES ($user_id, -$points, 2, NOW())";
    mysqli_query($conn, $log_query);
    echo "积分消费成功!";
} else {
    echo "积分不足!";
}
?>

积分查询

// check_points.php
<?php
include 'db.php';

$user_id = $_POST['user_id'];

$query = "SELECT points FROM users WHERE id=$user_id";
$result = mysqli_query($conn, $query);
$user = mysqli_fetch_assoc($result);

echo "当前积分:" . $user['points'];
?>

前端实现

注册与登录页面

<!-- register.html -->
<form action="register.php" method="post">
    用户名:<input type="text" name="username"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="注册">
</form>

<!-- login.html -->
<form action="login.php" method="post">

评论(0)