Rumah >pembangunan bahagian belakang >tutorial php >Laman web kitar semula terpakai yang dibangunkan menggunakan PHP menyokong paparan pengesahan nama sebenar

Laman web kitar semula terpakai yang dibangunkan menggunakan PHP menyokong paparan pengesahan nama sebenar

WBOY
WBOYasal
2023-07-01 23:33:51687semak imbas

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.

  1. Muat turun dan pasang XAMPP, anda boleh memuat turun versi terkini dari laman web rasmi (https://www.apachefriends.org/zh_cn/index.html).
  2. Selepas pemasangan selesai, buka panel kawalan XAMPP dan mulakan pelayan Apache dan pangkalan data MySQL.
  3. Masukkan localhost dalam penyemak imbas Jika halaman selamat datang XAMPP muncul, ini bermakna persekitaran berjaya disediakan.

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.

  1. Buka pelayar dan masukkan localhost/phpmyadmin untuk memasuki antara muka pengurusan phpMyAdmin.
  2. Klik butang "Baharu" dan masukkan nama pangkalan data, seperti "kitar semula".
  3. Masukkan pangkalan data "recycle", klik tab "SQL", dan masukkan pernyataan SQL berikut untuk mencipta jadual pengguna dan jadual produk:
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

  1. Buat fail bernama "index. php", Digunakan untuk log masuk dan pendaftaran pengguna.
<?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. Buat fail bernama "home.php" untuk memaparkan maklumat produk pengguna.
<?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. Buat fail bernama "add_product.php" untuk menerbitkan produk baharu.
<?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

  1. Tambah medan "disahkan" dalam jadual "pengguna" untuk merekodkan status pengesahan nama sebenar.
ALTER TABLE `users` ADD `verified` TINYINT(1) NOT NULL DEFAULT '0' AFTER `realname`;
  1. Ubah suai kod paparan produk fail "home.php" untuk hanya memaparkan produk yang disiarkan oleh pengguna yang telah melepasi pengesahan nama sebenar.
...
// 查询数据库,获取已经通过实名认证的用户的商品信息
$sql = "SELECT * FROM products WHERE owner_id IN (SELECT id FROM users WHERE verified=1)";
...
  1. Tambahkan fail bernama "verify.php" untuk operasi pengesahan nama sebenar.
<?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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn