2023-07-02

利用PHP开发的二手回收网站支持实名认证查看

利用PHP开发的二手回收网站支持实名认证查看

随着人们的环保意识的提高,二手回收成为了一种常见的渠道。为了确保交易的安全和真实性,许多二手交易平台都提供了实名认证的功能。本文将介绍如何利用PHP开发一个支持实名认证查看的二手回收网站。

一、搭建环境

首先,需要搭建一个PHP开发环境,包括一个PHP解释器和一个Web服务器。可以选择安装XAMPP或者WampServer等集成环境。在本文中,我们以XAMPP为例。

  1. 下载并安装XAMPP,可以从官网(https://www.apachefriends.org/zh_cn/index.html)下载最新版本。
  2. 安装完成后,打开XAMPP控制面板,启动Apache服务器和MySQL数据库。
  3. 在浏览器中输入localhost,如果出现XAMPP欢迎页面,则表示环境搭建成功。

二、创建数据库

接下来,我们需要创建一个数据库,用于存储用户信息和商品信息。可以使用MySQL数据库管理系统进行创建。

  1. 打开浏览器,输入localhost/phpmyadmin,进入phpMyAdmin管理界面。
  2. 点击”新建”按钮,输入数据库名称,例如”recycle”。
  3. 进入”recycle”数据库,点击”SQL”选项卡,输入以下SQL语句创建用户表和商品表:
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;
登录后复制

三、编写PHP代码

  1. 创建一个名为”index.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>
登录后复制
  1. 创建一个名为”home.php”的文件,用于展示用户的商品信息。
<?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. 创建一个名为”add_product.php”的文件,用于发布新商品。
<?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>
登录后复制

四、实名认证查看功能

  1. 在”users”表中添加一个”verified”字段,用于记录实名认证状态。
ALTER TABLE `users` ADD `verified` TINYINT(1) NOT NULL DEFAULT '0' AFTER `realname`;
登录后复制
  1. 修改”home.php”文件的商品展示代码,只显示已经通过实名认证的用户发布的商品。
...
// 查询数据库,获取已经通过实名认证的用户的商品信息
$sql = "SELECT * FROM products WHERE owner_id IN (SELECT id FROM users WHERE verified=1)";
...
登录后复制
  1. 添加一个名为”verify.php”的文件,用于进行实名认证操作。
<?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中文网其它相关文章!

https://www.php.cn/faq/571264.html

发表回复

Your email address will not be published. Required fields are marked *