ホームページ  >  記事  >  バックエンド開発  >  すぐに始めましょう: PHP を使用してシンプルかつ強力なショッピング モール クーポンを開発します

すぐに始めましょう: PHP を使用してシンプルかつ強力なショッピング モール クーポンを開発します

WBOY
WBOYオリジナル
2023-09-11 10:49:49816ブラウズ

快速上手:通过 PHP 开发一个简单但功能强大的商场优惠券

すぐに始めましょう: PHP を使用してシンプルかつ強力なショッピング モール クーポンを開発します

電子商取引の継続的な発展に伴い、ショッピング モール クーポンは重要な手段となっています。ユーザーに消費を促す、方法の 1 つ。シンプルだが強力なショッピング モール クーポン システムの開発は、電子商取引プラットフォームにとって非常に重要です。この記事では、開発に PHP を使用し、ユーザーのショッピング ニーズを満たす信頼性が高く効率的なショッピング モール クーポン システムの作成をすぐに始める方法を紹介します。

1. プロジェクトの準備環境

開始する前に、開発プロジェクトに対応する環境を準備する必要があります。まず、PHP ランタイム環境と MySQL データベースがインストールされていることを確認してください。次に、強力なコード編集機能やデバッグ機能を備えた PHPStorm など、開発効率を大幅に向上させる、開発に適した統合開発環境を選択します。

2. データベース設計

ショッピング モールのクーポン システムの中核はデータベース設計です。ユーザー テーブルとクーポン テーブルの 2 つのテーブルを作成する必要があります。

  1. ユーザー テーブルの設計

ユーザー テーブルは、ユーザーの基本情報とアカウント残高を保存するために使用されます。特定のフィールドは次のとおりです。

  • user_id: ユーザー ID、主キー
  • username: ユーザー名
  • password: パスワード
  • balance: アカウントバランス
  1. クーポン テーブルのデザイン

クーポン テーブルは、クーポン関連の情報を保存するために使用されます。特定のフィールドは次のとおりです。

  • coupon_id: クーポン ID、主キー
  • coupon_code: クーポン コード
  • discount: 割引額
  • threshold : 使用閾値
  • start_time: 有効開始時刻
  • end_time: 有効終了時刻
  • is_used: 使用済みかどうか

3. プロジェクト開発手順

  1. データベースの作成

まず、MySQL データベースに新しいデータベースを作成し、「coupon_system」という名前を付けます。次に、次の SQL ステートメントを使用して 2 つのテーブルを作成します。

CREATE TABLE users (
  user_id INT PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL,
  password VARCHAR(50) NOT NULL,
  balance DECIMAL(10, 2) DEFAULT 0
);

CREATE TABLE coupons (
  coupon_id INT PRIMARY KEY AUTO_INCREMENT,
  coupon_code VARCHAR(50) NOT NULL,
  discount DECIMAL(10, 2) NOT NULL,
  threshold DECIMAL(10, 2) DEFAULT 0,
  start_time DATETIME,
  end_time DATETIME,
  is_used TINYINT(1) DEFAULT 0
);
  1. データベース接続の作成

次に、PHP でデータベース接続を作成する必要があります。次のコードをプロジェクトのメイン ファイルに追加します。

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "coupon_system";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("连接数据库失败: " . mysqli_connect_error());
}
?>

$username$password を正しいデータベース ユーザー名とパスワードに置き換えてください。

  1. 登録関数とログイン関数の作成

ユーザー登録関数とログイン関数を作成する必要があります。 register.php ファイルを作成して、ユーザー登録ロジックを実装します。以下は簡単な例です。

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

    $sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";

    if (mysqli_query($conn, $sql)) {
        echo "注册成功!";
    } else {
        echo "注册失败:" . mysqli_error($conn);
    }
}
?>
<h1>用户注册</h1>
<form method="POST">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">注册</button>
</form>

同様に、login.php ファイルを作成してユーザー ログイン ロジックを実装します。以下は簡単な例です。

<?php
session_start();

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

    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) == 1) {
        $_SESSION['username'] = $username;
        echo "登录成功!";
    } else {
        echo "用户名或密码错误!";
    }
}
?>
<h1>用户登录</h1>
<form method="POST">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>
  1. クーポン関数の作成

クーポンの収集と使用を実現するための coupons.php ファイルを作成します。 。以下は簡単な例です:

<?php
session_start();

if (!isset($_SESSION['username'])) {
    header("Location: login.php");
    exit;
}

$username = $_SESSION['username'];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $coupon_code = $_POST['coupon_code'];

    $sql = "SELECT * FROM coupons WHERE coupon_code='$coupon_code' AND is_used=0";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) == 1) {
        $coupon = mysqli_fetch_assoc($result);
        $discount = $coupon['discount'];
        $threshold = $coupon['threshold'];
        $balance = mysqli_fetch_assoc(mysqli_query($conn, "SELECT balance FROM users WHERE username='$username'"))['balance'];

        if ($balance >= $threshold) {
            $new_balance = $balance - $discount;
            mysqli_query($conn, "UPDATE users SET balance=$new_balance WHERE username='$username'");
            mysqli_query($conn, "UPDATE coupons SET is_used=1 WHERE coupon_code='$coupon_code'");

            echo "使用优惠券成功!";
        } else {
            echo "账户余额不足,请先充值!";
        }
    } else {
        echo "优惠券已被使用或不存在!";
    }
}

$sql = "SELECT * FROM coupons WHERE is_used=0";
$result = mysqli_query($conn, $sql);
$coupons = mysqli_fetch_all($result, MYSQLI_ASSOC);
?>
<h1>领取优惠券</h1>
<?php foreach ($coupons as $coupon) { ?>
    <form method="POST">
        <input type="hidden" name="coupon_code" value="<?php echo $coupon['coupon_code']; ?>">
        <h3><?php echo $coupon['coupon_code']; ?></h3>
        <p>折扣金额:<?php echo $coupon['discount']; ?></p>
        <p>使用门槛:<?php echo $coupon['threshold']; ?></p>
        <button type="submit">领取</button>
    </form>
<?php } ?>

上記のコードは、ユーザーがクーポンを受け取って使用する機能を実装しています。ユーザーは未使用のクーポンのみを受け取ることができ、使用量のしきい値に達した場合に控除することができます。

4. 概要

上記の手順により、シンプルかつ強力なショッピング モール クーポン システムを迅速に開発しました。データベース設計から機能実装まで、ユーザーの登録・ログイン・クーポン収集・利用機能を提供します。このシステムは、ユーザーにより良いショッピング体験を提供するための電子商取引プラットフォームの基本機能として使用できます。もちろん、実際のニーズに応じて最適化して完成させることができる、改善と拡張の余地はまだたくさんあります。この記事が、PHP 開発の学習とクーポン システムの構築に役立つことを願っています。

以上がすぐに始めましょう: PHP を使用してシンプルかつ強力なショッピング モール クーポンを開発しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。