Home >Backend Development >PHP Tutorial >Second-hand recycling website developed using PHP supports real-name authentication viewing
The second-hand recycling website developed using PHP supports real-name authentication viewing
With the improvement of people's environmental awareness, second-hand recycling has become a common channel. In order to ensure the security and authenticity of transactions, many second-hand trading platforms provide real-name authentication functions. This article will introduce how to use PHP to develop a second-hand recycling website that supports real-name authentication viewing.
1. Build the environment
First, you need to build a PHP development environment, including a PHP interpreter and a Web server. You can choose to install integrated environments such as XAMPP or WampServer. In this article, we use XAMPP as an example.
2. Create a database
Next, we need to create a database to store user information and product information. Can be created using the MySQL database management system.
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. Write PHP code
<?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. Real-name authentication viewing function
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>
So far, we have completed a second-hand recycling website developed using PHP that supports real-name authentication viewing. Users can perform real-name authentication when logging in or registering, and only users who have passed real-name authentication can publish and view product information.
It should be noted that in order to simplify the example, we have not implemented security measures such as user input validation and preventing SQL injection. In actual development, these security issues must be considered and resolved.
I hope this article can provide some help to developers who want to develop a second-hand recycling website that supports real-name authentication viewing. Continuously optimizing and improving the functions of the website can not only increase the user experience, but also improve the user's sense of security and trust.
The above is the detailed content of Second-hand recycling website developed using PHP supports real-name authentication viewing. For more information, please follow other related articles on the PHP Chinese website!