Le site Web de recyclage d'occasion développé en PHP prend en charge l'authentification et la visualisation du nom réel
Avec l'amélioration de la conscience environnementale des gens, le recyclage d'occasion est devenu un canal courant. Afin de garantir la sécurité et l'authenticité des transactions, de nombreuses plateformes de commerce d'occasion proposent des fonctions d'authentification par nom réel. Cet article explique comment utiliser PHP pour développer un site Web de recyclage d'occasion prenant en charge l'affichage de l'authentification par nom réel.
1. Construire l'environnement
Tout d'abord, vous devez créer un environnement de développement PHP, comprenant un interpréteur PHP et un serveur Web. Vous pouvez choisir d'installer des environnements intégrés tels que XAMPP ou WampServer. Dans cet article, nous utilisons XAMPP comme exemple.
2. Créer une base de données
Ensuite, nous devons créer une base de données pour stocker les informations sur les utilisateurs et les produits. Peut être créé à l'aide du système de gestion de base de données 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. Écrivez le code 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. Fonction de visualisation de l'authentification par nom réel
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>
À ce stade, nous avons réalisé un site Web de recyclage d'occasion développé en PHP qui prend en charge la visualisation d'authentification par nom réel. Les utilisateurs peuvent effectuer une authentification par nom réel lors de la connexion ou de l'enregistrement, et seuls les utilisateurs ayant réussi l'authentification par nom réel peuvent publier et afficher les informations sur le produit.
Il est à noter que pour simplifier l'exemple, nous n'avons pas implémenté de mesures de sécurité telles que la validation des entrées utilisateur et la prévention de l'injection SQL. Dans le développement réel, ces problèmes de sécurité doivent être pris en compte et résolus.
J'espère que cet article pourra aider les développeurs qui souhaitent développer un site Web de recyclage d'occasion prenant en charge l'affichage de l'authentification par nom réel. L'optimisation et l'amélioration continues des fonctions du site Web peuvent non seulement augmenter l'expérience utilisateur, mais également améliorer le sentiment de sécurité et de confiance de l'utilisateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!