包含函数php给出旧代码中的错误?

包含函数php给出旧代码中的错误?,php,include,Php,Include,所以我遇到的问题是我在一本书中做的这个基本的数据库应用程序练习。基本上,当您尝试向数据库添加产品时,如下面的代码所示,它会进行检查以确保所有字段都已填写。但是,在执行查询的最后,我得到了include('home.php'),当我返回到home.php页面并单击该页面上的一个链接时,我得到了一个错误,如果其中一个字段留空,我会得到这个错误。有什么想法吗 <?php // Get the product data $category_id = $_POST['category_id']; $

所以我遇到的问题是我在一本书中做的这个基本的数据库应用程序练习。基本上,当您尝试向数据库添加产品时,如下面的代码所示,它会进行检查以确保所有字段都已填写。但是,在执行查询的最后,我得到了include('home.php'),当我返回到home.php页面并单击该页面上的一个链接时,我得到了一个错误,如果其中一个字段留空,我会得到这个错误。有什么想法吗

<?php
// Get the product data
$category_id = $_POST['category_id'];
$code = $_POST['code'];
$name = $_POST['name'];
$price = $_POST['price'];

// Validate inputs
if (empty($code) || empty($name) || empty($price) ) {
    $error = "Invalid product data. Check all fields and try again.";
    include('error.php');
} else {
    // If valid, add the product to the database
    require_once('database.php');
    $query = "INSERT INTO products
                 (categoryID, productCode, productName, listPrice)
              VALUES
                 ('$category_id', '$code', '$name', '$price')";
    $db->exec($query);

    // Display the Product List page
   include('home.php') ;
}
?>

在home.php文件中,您可以使用
$\u GET
而不是
$\u POST

更改此项:

 $category_id = $_GET['category_id'];
致:

 $category_id = $_GET['category_id'];
$category_id = $_POST['category_id'];