PHP と Vue を使って決済後の会員ポイント還元機能を実現します
電子商取引の急速な発展に伴い、会員制度が一般的になりつつあります。より多くのユーザーを参加させるために、多くの販売業者はリベートを通じてメンバーに報酬を与えます。この記事では、PHPとVueを使って決済後の会員ポイント還元機能を実装する方法と具体的なコード例を紹介します。
1. ポイント還元の原理
ポイント還元機能の実現は主に次のステップに分かれます:
2. バックエンド コードの実装
まず、ユーザーのポイント情報を保存するデータベースを作成する必要があります。 。次の SQL ステートメントを使用して、user_points
という名前のテーブルを作成できます:
CREATE TABLE `user_points` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `points` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
バックエンドで PHP を使用してビジネスを処理します。ロジック。まず、updatePoints.php
という名前のファイルを作成して、ユーザーのポイント情報を更新する必要があります。サンプル コードは次のとおりです。
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test"; $conn = new mysqli($servername, $username, $password, $dbname); // 获取用户ID和返利积分 $user_id = $_POST['user_id']; $points = $_POST['points']; // 查询用户当前的积分余额 $sql = "SELECT * FROM user_points WHERE user_id = $user_id"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 更新用户的积分信息 $row = $result->fetch_assoc(); $current_points = $row['points']; $new_points = $current_points + $points; $sql = "UPDATE user_points SET points = $new_points WHERE user_id = $user_id"; if ($conn->query($sql) === TRUE) { echo "积分更新成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } else { // 添加新的积分信息 $sql = "INSERT INTO user_points (user_id, points) VALUES ($user_id, $points)"; if ($conn->query($sql) === TRUE) { echo "积分添加成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ?>
PHP フレームワーク (Laravel など) を使用してルーティングを簡単に設定し、updatePoints.php を呼び出します。 ### ファイル。サンプル コードは次のとおりです。
use IlluminateSupportFacadesRoute; Route::post('/updatePoints', function () { return view('updatePoints'); });
<template> <div> <button @click="updatePoints">购买商品并支付</button> <p>我的积分余额:{{ points }}</p> </div> </template> <script> export default { data() { return { user_id: 123, // 用户ID points: 0 // 积分余额 } }, methods: { updatePoints() { // 计算返利积分 const orderAmount = 100; // 购买商品的金额 const rebateRate = 0.1; // 返利比例 const points = orderAmount * rebateRate; // 调用后端API更新积分 axios.post('/updatePoints', { user_id: this.user_id, points: points }) .then(response => { // 更新成功,刷新积分余额 this.getPoints(); }) .catch(error => { console.log(error); }); }, getPoints() { // 调用后端API获取积分余额 axios.get(`/getPoints?user_id=${this.user_id}`) .then(response => { this.points = response.data; }) .catch(error => { console.log(error); }); } }, mounted() { // 页面加载时获取积分余额 this.getPoints(); } } </script>
以上がPHPとVueを使って決済後の会員ポイント還元機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。