Tapak web kitar semula terpakai yang dibangunkan menggunakan PHP menyokong pengesahan dan tontonan nama sebenar
Dengan peningkatan kesedaran alam sekitar orang ramai, kitar semula terpakai telah menjadi saluran biasa. Untuk memastikan keselamatan dan ketulenan transaksi, banyak platform dagangan terpakai menyediakan fungsi pengesahan nama sebenar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan tapak web kitar semula terpakai yang menyokong paparan pengesahan nama sebenar.
1. Bina persekitaran
Pertama, anda perlu membina persekitaran pembangunan PHP, termasuk penterjemah PHP dan pelayan Web. Anda boleh memilih untuk memasang persekitaran bersepadu seperti XAMPP atau WampServer. Dalam artikel ini, kami menggunakan XAMPP sebagai contoh.
2. Buat pangkalan data
Seterusnya, kita perlu buat pangkalan data untuk menyimpan maklumat pengguna dan maklumat produk. Boleh dibuat menggunakan sistem pengurusan pangkalan data 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 Tulis kod 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. Fungsi melihat pengesahan nama sebenar
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>
Pada ketika ini, kami telah melengkapkan tapak web kitar semula terpakai yang dibangunkan menggunakan PHP yang menyokong paparan pengesahan nama sebenar. Pengguna boleh melakukan pengesahan nama sebenar apabila log masuk atau mendaftar, dan hanya pengguna yang telah lulus pengesahan nama sebenar boleh menerbitkan dan melihat maklumat produk.
Perlu diingatkan bahawa untuk memudahkan contoh, kami tidak melaksanakan langkah keselamatan seperti pengesahan input pengguna dan mencegah suntikan SQL. Dalam pembangunan sebenar, isu keselamatan ini mesti dipertimbangkan dan diselesaikan.
Saya harap artikel ini dapat memberikan sedikit bantuan kepada pembangun yang ingin membangunkan tapak web kitar semula terpakai yang menyokong tontonan pengesahan nama sebenar. Mengoptimumkan dan menambah baik fungsi tapak web secara berterusan bukan sahaja dapat meningkatkan pengalaman pengguna, tetapi juga meningkatkan rasa selamat dan kepercayaan pengguna.
Atas ialah kandungan terperinci Laman web kitar semula terpakai yang dibangunkan menggunakan PHP menyokong paparan pengesahan nama sebenar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!