ホームページ >バックエンド開発 >PHPチュートリアル >PHPで開発した中古リサイクルサイトが実名認証閲覧に対応
PHPで構築した中古リサイクルサイトが実名認証閲覧に対応しました
人々の環境意識の向上に伴い、中古品リサイクルは一般的なチャネルとなりました。取引の安全性と信頼性を確保するために、多くの中古品取引プラットフォームでは実名認証機能が提供されています。この記事では、PHPを使って実名認証閲覧に対応した中古リサイクルサイトを開発する方法を紹介します。
1. 環境の構築
まず、PHP インタープリターと Web サーバーを含む PHP 開発環境を構築する必要があります。 XAMPP や WampServer などの統合環境のインストールを選択できます。この記事では、例として XAMPP を使用します。
2. データベースの作成
次に、ユーザー情報と製品情報を保存するデータベースを作成する必要があります。 MySQL データベース管理システムを使用して作成できます。
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 コードを記述します。
<?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>
<?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>
<?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. 実名認証閲覧機能
ALTER TABLE `users` ADD `verified` TINYINT(1) NOT NULL DEFAULT '0' AFTER `realname`;
... // 查询数据库,获取已经通过实名认证的用户的商品信息 $sql = "SELECT * FROM products WHERE owner_id IN (SELECT id FROM users WHERE verified=1)"; ...
<?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 サイトの他の関連記事を参照してください。