php一个简单的电子商务网站的核心功能

该篇文章详细描述了一个使用PHP编写的包含用户注册、登录、产品展示、购物车管理和订单处理功能的简化电子商务网站示例,涉及数据库连接、会话管理和表单验证技术。
摘要由CSDN通过智能技术生成

以下是一个复杂且功能丰富的 PHP 脚本示例,实现了一个简单的电子商务网站的核心功能,包括用户注册、登录、产品展示、购物车管理和订单处理等功能。这个示例涉及到数据库操作、会话管理、表单验证等方面的内容,是一个相对完整的电子商务网站的简化版本。

```php
<?php
// 数据库连接信息
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}

// 启动会话(如果尚未启动)
session_start();

// 用户注册
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['register'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];

    // 插入用户数据到数据库
    $sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
    if ($conn->query($sql) === TRUE) {
        echo "注册成功";
    } else {
        echo "注册失败: " . $conn->error;
    }
}

// 用户登录
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // 查询数据库验证用户
    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = $conn->query($sql);

    if ($result->num_rows == 1) {
        $_SESSION['username'] = $username;
        echo "登录成功,欢迎 " . $username;
    } else {
        echo "登录失败,用户名或密码错误";
    }
}

// 用户注销
if (isset($_POST['logout'])) {
    session_unset();
    session_destroy();
    echo "注销成功";
}

// 展示产品
$sql = "SELECT * FROM products";
$result = $conn->query($sql);

echo "<h2>产品列表</h2>";
echo "<ul>";
while ($row = $result->fetch_assoc()) {
    echo "<li>" . $row['name'] . " - $" . $row['price'] . " <a href='add_to_cart.php?id=" . $row['id'] . "'>加入购物车</a></li>";
}
echo "</ul>";

// 显示购物车内容
echo "<h2>购物车</h2>";
echo "<ul>";
foreach ($_SESSION['cart'] as $product_id => $quantity) {
    $sql = "SELECT * FROM products WHERE id='$product_id'";
    $result = $conn->query($sql);
    $row = $result->fetch_assoc();
    echo "<li>" . $row['name'] . " - $" . $row['price'] . " x " . $quantity . "</li>";
}
echo "</ul>";

// 结账
if (isset($_POST['checkout'])) {
    // 创建订单
    $user_id = $_SESSION['user_id'];
    $total_price = 0;

    foreach ($_SESSION['cart'] as $product_id => $quantity) {
        $sql = "SELECT * FROM products WHERE id='$product_id'";
        $result = $conn->query($sql);
        $row = $result->fetch_assoc();
        $total_price += $row['price'] * $quantity;
    }

    $sql = "INSERT INTO orders (user_id, total_price) VALUES ('$user_id', '$total_price')";
    if ($conn->query($sql) === TRUE) {
        $order_id = $conn->insert_id;

        // 将购物车中的产品添加到订单项中
        foreach ($_SESSION['cart'] as $product_id => $quantity) {
            $sql = "INSERT INTO order_items (order_id, product_id, quantity) VALUES ('$order_id', '$product_id', '$quantity')";
            $conn->query($sql);
        }

        // 清空购物车
        unset($_SESSION['cart']);

        echo "订单创建成功,订单号:" . $order_id;
    } else {
        echo "创建订单失败: " . $conn->error;
    }
}

// HTML 表单
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>E-commerce Website</title>
</head>
<body>
    <?php if (!isset($_SESSION['username'])): ?>
    <h2>用户注册</h2>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <input type="text" name="username" placeholder="用户名" required><br>
        <input type="password" name="password" placeholder="密码" required><br>
        <input type="email" name="email" placeholder="邮箱" required><br>
        <input type="submit" name="register" value="注册">
    </form>

    <h2>用户登录</h2>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <input type="text" name="username" placeholder="用户名" required><br>
        <input type="password" name="password" placeholder="密码" required><br>
        <input type="submit" name="login" value="登录">
    </form>
    <?php else: ?>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <input type="submit" name="logout" value="注销">
    </form>
    <?php endif; ?>

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <input type="submit" name="checkout" value="结账">
    </form>
</body>
</html>

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值