Maison >développement back-end >tutoriel php >Un site Web de recyclage d'occasion développé à l'aide de PHP prend en charge l'affichage de l'authentification par nom réel

Un site Web de recyclage d'occasion développé à l'aide de PHP prend en charge l'affichage de l'authentification par nom réel

WBOY
WBOYoriginal
2023-07-01 23:33:51688parcourir

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.

  1. Téléchargez et installez XAMPP, vous pouvez télécharger la dernière version depuis le site officiel (https://www.apachefriends.org/zh_cn/index.html).
  2. Une fois l'installation terminée, ouvrez le panneau de configuration XAMPP et démarrez le serveur Apache et la base de données MySQL.
  3. Entrez localhost dans le navigateur Si la page d'accueil de XAMPP apparaît, cela signifie que l'environnement est configuré avec succès.

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.

  1. Ouvrez le navigateur et entrez localhost/phpmyadmin pour accéder à l'interface de gestion phpMyAdmin.
  2. Cliquez sur le bouton "Nouveau" et entrez le nom de la base de données, tel que "recycler".
  3. Entrez dans la base de données "recycle", cliquez sur l'onglet "SQL" et entrez les instructions SQL suivantes pour créer la table utilisateur et la table produit :
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

  1. Créez un fichier nommé "index. php", Utilisé pour la connexion et l'enregistrement de l'utilisateur.
<?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. Créez un fichier nommé "home.php" pour afficher les informations sur le produit de l'utilisateur.
<?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. Créez un fichier nommé "add_product.php" pour publier de nouveaux produits.
<?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

  1. Ajoutez un champ « vérifié » dans le tableau « utilisateurs » pour enregistrer l'état d'authentification par nom réel.
ALTER TABLE `users` ADD `verified` TINYINT(1) NOT NULL DEFAULT '0' AFTER `realname`;
  1. Modifiez le code d'affichage du produit du fichier "home.php" pour afficher uniquement les produits publiés par les utilisateurs ayant réussi l'authentification par nom réel.
...
// 查询数据库,获取已经通过实名认证的用户的商品信息
$sql = "SELECT * FROM products WHERE owner_id IN (SELECT id FROM users WHERE verified=1)";
...
  1. Ajoutez un fichier nommé "verify.php" pour l'opération d'authentification par nom réel.
<?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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn