ホームページ > バックエンド開発 > PHPチュートリアル > PHPで開発した中古リサイクルサイトが実名認証閲覧に対応

PHPで開発した中古リサイクルサイトが実名認証閲覧に対応

WBOY
リリース: 2023-07-02 06:28:01
オリジナル
694 人が閲覧しました

PHPで構築した中古リサイクルサイトが実名認証閲覧に対応しました

人々の環境意識の向上に伴い、中古品リサイクルは一般的なチャネルとなりました。取引の安全性と信頼性を確保するために、多くの中古品取引プラットフォームでは実名認証機能が提供されています。この記事では、PHPを使って実名認証閲覧に対応した中古リサイクルサイトを開発する方法を紹介します。

1. 環境の構築

まず、PHP インタープリターと Web サーバーを含む PHP 開発環境を構築する必要があります。 XAMPP や WampServer などの統合環境のインストールを選択できます。この記事では、例として XAMPP を使用します。

  1. XAMPP をダウンロードしてインストールします。最新バージョンは公式 Web サイト (https://www.apachefriends.org/zh_cn/index.html) からダウンロードできます。
  2. インストールが完了したら、XAMPP コントロール パネルを開き、Apache サーバーと MySQL データベースを起動します。
  3. ブラウザに「localhost」と入力し、XAMPP のウェルカム ページが表示されれば、環境は正常にセットアップされています。

2. データベースの作成

次に、ユーザー情報と製品情報を保存するデータベースを作成する必要があります。 MySQL データベース管理システムを使用して作成できます。

  1. ブラウザを開いて「localhost/phpmyadmin」と入力して、phpMyAdmin 管理インターフェイスに入ります。
  2. 「新規」ボタンをクリックし、「recycle」などのデータベース名を入力します。
  3. 「recycle」データベースに入り、「SQL」タブをクリックし、次の SQL ステートメントを入力して user テーブルと product テーブルを作成します:
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `realname` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `owner_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ログイン後にコピー

3. PHP コードを記述します。

  1. ユーザーのログインと登録用に「index.php」という名前のファイルを作成します。
<?php
session_start();

// 登录功能
if(isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    
    // 查询数据库中是否存在该用户,并验证密码是否正确
    // $conn为数据库连接对象
    $conn = mysqli_connect("localhost", "root", "", "recycle");
    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = mysqli_query($conn, $sql);
    $row = mysqli_fetch_assoc($result);
    
    if($row) {
        // 用户存在,保存用户信息到session中
        $_SESSION['user'] = $row;
        header("Location: home.php");
    } else {
        echo "用户名或密码错误!";
    }
}

// 注册功能
if(isset($_POST['register'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $realname = $_POST['realname'];
    
    // 在数据库中插入新用户信息
    $conn = mysqli_connect("localhost", "root", "", "recycle");
    $sql = "INSERT INTO users (username, password, realname) VALUES ('$username', '$password', '$realname')";
    mysqli_query($conn, $sql);
    
    echo "注册成功!";
}
?>

<h1>登录</h1>
<form method="post" action="">
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username" required><br>
    <label for="password">密码:</label>
    <input type="password" name="password" id="password" required><br>
    <input type="submit" name="login" value="登录">
</form>

<h1>注册</h1>
<form method="post" action="">
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username" required><br>
    <label for="password">密码:</label>
    <input type="password" name="password" id="password" required><br>
    <label for="realname">真实姓名:</label>
    <input type="text" name="realname" id="realname" required><br>
    <input type="submit" name="register" value="注册">
</form>
ログイン後にコピー
  1. ユーザーの製品情報を表示する「home.php」という名前のファイルを作成します。
<?php
session_start();

// 判断用户是否登录
if(!isset($_SESSION['user'])) {
    header("Location: index.php");
}

// 查询数据库,获取当前用户的商品信息
$conn = mysqli_connect("localhost", "root", "", "recycle");
$sql = "SELECT * FROM products WHERE owner_id={$_SESSION['user']['id']}";
$result = mysqli_query($conn, $sql);
?>

<h1>欢迎,<?php echo $_SESSION['user']['realname']; ?></h1>

<h2>我的商品</h2>
<table>
    <tr>
        <th>名称</th>
        <th>价格</th>
    </tr>
    <?php while($row = mysqli_fetch_assoc($result)) { ?>
        <tr>
            <td><?php echo $row['name']; ?></td>
            <td><?php echo $row['price']; ?></td>
        </tr>
    <?php } ?>
</table>

<a href="add_product.php">发布新商品</a>
<a href="logout.php">退出登录</a>
ログイン後にコピー
  1. 新しい製品を公開するために「add_product.php」という名前のファイルを作成します。
<?php
session_start();

// 判断用户是否登录
if(!isset($_SESSION['user'])) {
    header("Location: index.php");
}

// 发布新商品
if(isset($_POST['submit'])) {
    $name = $_POST['name'];
    $price = $_POST['price'];
    $owner_id = $_SESSION['user']['id'];
    
    // 在数据库中插入新商品信息
    $conn = mysqli_connect("localhost", "root", "", "recycle");
    $sql = "INSERT INTO products (name, price, owner_id) VALUES ('$name', '$price', $owner_id)";
    mysqli_query($conn, $sql);
    
    echo "发布成功!";
}
?>

<h1>发布新商品</h1>
<form method="post" action="">
    <label for="name">名称:</label>
    <input type="text" name="name" id="name" required><br>
    <label for="price">价格:</label>
    <input type="number" step="0.01" name="price" id="price" required><br>
    <input type="submit" name="submit" value="发布">
</form>

<a href="home.php">返回首页</a>
<a href="logout.php">退出登录</a>
ログイン後にコピー

4. 実名認証閲覧機能

  1. 「users」テーブルに「verified」フィールドを追加し、実名認証状況を記録します。
ALTER TABLE `users` ADD `verified` TINYINT(1) NOT NULL DEFAULT '0' AFTER `realname`;
ログイン後にコピー
  1. 「home.php」ファイルの商品表示コードを修正し、実名認証を通過したユーザーが投稿した商品のみを表示するようにします。
...
// 查询数据库,获取已经通过实名认证的用户的商品信息
$sql = "SELECT * FROM products WHERE owner_id IN (SELECT id FROM users WHERE verified=1)";
...
ログイン後にコピー
  1. 実名認証用に「verify.php」という名前のファイルを追加します。
<?php
session_start();

// 判断用户是否登录
if(!isset($_SESSION['user'])) {
    header("Location: index.php");
}

// 实名认证操作
if(isset($_POST['submit'])) {
    $realname = $_POST['realname'];
    
    // 更新用户表中的实名认证状态和真实姓名
    $conn = mysqli_connect("localhost", "root", "", "recycle");
    $sql = "UPDATE users SET verified=1, realname='$realname' WHERE id={$_SESSION['user']['id']}";
    mysqli_query($conn, $sql);
    
    echo "实名认证成功!";
}
?>

<h1>实名认证</h1>
<form method="post" action="">
    <label for="realname">真实姓名:</label>
    <input type="text" name="realname" id="realname" required><br>
    <input type="submit" name="submit" value="认证">
</form>

<a href="home.php">返回首页</a>
<a href="logout.php">退出登录</a>
ログイン後にコピー

これまでにPHPで開発した実名認証閲覧に対応した中古リサイクルサイトが完成しました。ユーザーはログイン時や登録時に実名認証を行うことができ、実名認証に合格したユーザーのみが製品情報を公開・閲覧できます。

例を簡略化するために、ユーザー入力の検証や SQL インジェクションの防止などのセキュリティ対策を実装していないことに注意してください。実際の開発では、これらのセキュリティ問題を考慮して解決する必要があります。

この記事が、実名認証閲覧に対応した中古リサイクルサイトを開発したいと考えている開発者の手助けになれば幸いです。ウェブサイトの機能の最適化と改善を継続的に行うことで、ユーザーエクスペリエンスが向上するだけでなく、ユーザーの安心感や信頼感も向上します。

以上がPHPで開発した中古リサイクルサイトが実名認証閲覧に対応の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート