Home  >  Article  >  Backend Development  >  Second-hand recycling website developed by PHP implements user points reward mechanism

Second-hand recycling website developed by PHP implements user points reward mechanism

王林
王林Original
2023-07-02 17:15:251342browse

Second-hand recycling website developed in PHP implements user points reward mechanism

Abstract: With the popularization of environmental awareness, second-hand recycling websites have become the first choice platform for people to resell idle items. In order to motivate users to actively participate in recycling actions, developers can add a point reward mechanism to the website. This article will introduce how to use PHP to develop a second-hand recycling website and implement a user points reward mechanism.

1. Establish a database
First, we need to create corresponding tables in the MySQL database to store user information and points. We create a table named "users" to store user information. The table structure is as follows:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL,
    points INT DEFAULT 0
);

2. User registration and login
Before implementing the user points reward mechanism, we User registration and login functions need to be implemented. When registering, users need to provide username, password and email information, which allows users to fill in a form to register.

<?php
// 处理用户注册请求
if($_SERVER["REQUEST_METHOD"] === "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];
    $email = $_POST["email"];
    
    // 将用户信息插入数据库
    $sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("sss", $username, $password, $email);
    $stmt->execute();
    
    // 注册成功后跳转到登录页面
    header("Location: login.php");
    exit;
}
?>

<form action="" method="post">
    <input type="text" name="username" placeholder="用户名">
    <input type="password" name="password" placeholder="密码">
    <input type="email" name="email" placeholder="邮箱">
    <button type="submit">注册</button>
</form>

User login function code example:

<?php
session_start();
// 处理用户登录请求
if($_SERVER["REQUEST_METHOD"] === "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];
    
    // 查询数据库验证用户信息是否匹配
    $sql = "SELECT * FROM users WHERE username=? AND password=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ss", $username, $password);
    $stmt->execute();
    
    // 如果查询结果存在记录,说明用户名和密码匹配
    if($stmt->fetch()) {
        // 将用户名存储到会话中
        $_SESSION["username"] = $username;
        
        // 跳转到用户个人中心页面
        header("Location: user.php");
        exit;
    } else {
        echo "用户名或密码错误";
    }
}
?>

<form action="" method="post">
    <input type="text" name="username" placeholder="用户名">
    <input type="password" name="password" placeholder="密码">
    <button type="submit">登录</button>
</form>

3. Implementing point rewards
Before implementing the point reward mechanism, we need to process users’ posting of second-hand items and completing transactions Case. For publishing second-hand items, users need to be rewarded with certain points; for completing transactions, users are rewarded with corresponding points based on the transaction amount.

Code example for posting second-hand items and awarding points:

<?php
session_start();
// 处理用户发布二手物品请求
if($_SERVER["REQUEST_METHOD"] === "POST") {
    $item_name = $_POST["item_name"];
    $price = $_POST["price"];
    
    // 查询当前用户的积分情况
    $sql = "SELECT points FROM users WHERE username=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("s", $_SESSION["username"]);
    $stmt->execute();
    $stmt->bind_result($points);
    $stmt->fetch();
    
    // 根据价格给用户奖励相应的积分
    $bonus = 0;
    if($price >= 100) {
        $bonus = 10;
    }
    
    $total_points = $points + $bonus;
    
    // 更新用户的积分情况
    $sql = "UPDATE users SET points=? WHERE username=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("is", $total_points, $_SESSION["username"]);
    $stmt->execute();
    
    echo "发布成功!奖励积分:".$bonus;
}
?>

<form action="" method="post">
    <input type="text" name="item_name" placeholder="物品名称">
    <input type="number" name="price" placeholder="价格">
    <button type="submit">发布</button>
</form>

Code example for completing transactions and awarding points:

<?php
session_start();
// 处理用户完成交易请求
if($_SERVER["REQUEST_METHOD"] === "POST") {
    $item_id = $_POST["item_id"];
    $price = $_POST["price"];
    
    // 查询当前用户的积分情况
    $sql = "SELECT points FROM users WHERE username=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("s", $_SESSION["username"]);
    $stmt->execute();
    $stmt->bind_result($points);
    $stmt->fetch();
    
    // 根据交易金额给用户奖励相应的积分
    $bonus = floor($price/10);
    
    $total_points = $points + $bonus;
    
    // 更新用户的积分情况
    $sql = "UPDATE users SET points=? WHERE username=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("is", $total_points, $_SESSION["username"]);
    $stmt->execute();
    
    echo "交易完成!奖励积分:".$bonus;
}
?>

<form action="" method="post">
    <input type="text" name="item_id" placeholder="物品ID">
    <input type="number" name="price" placeholder="交易金额">
    <button type="submit">完成交易</button>
</form>

Summary
This article Introduced how to use PHP to develop a second-hand recycling website and implement a user points reward mechanism. Users can use the website through registration and login functions, and can obtain corresponding point rewards after posting second-hand items and completing transactions. Developers can further improve the functionality and user experience of the website according to their own needs to improve user engagement and recycling effects.

The above is the detailed content of Second-hand recycling website developed by PHP implements user points reward mechanism. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn