1

enter code herephp初学者,需要帮助。我通过创建的管理部分添加了产品,但它没有反映在页面上。我从代码中得到消息:“echo”缺少呈现此页面的数据。未设置获取 ID 变量。请联系我们。”;”。请帮忙

代码:

<?php 

// Script Error Reporting
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 
// Check to see the URL variable is set and that it exists in the database
if (isset($_GET['?id=1'])) {
    // Connect to the MySQL database  
    include "..storescripts/connect_to_mysql.php"; 
    $id = preg_replace('#[^0-9]#i', '', $_GET['?id=1']); 
    // Use this var to check to see if this ID exists, if yes then get the product 
    // details, if no then exit this script and give message why
    $sql = mysql_query("SELECT * FROM products WHERE id='$id' LIMIT 1");
    $productsCount = mysql_num_rows($sql); // count the output amount
    if ($productsCount > 0) {
        // get all the product details
        while($row = mysql_fetch_array($sql)){ 
             $product_name = $row["product_name"];
             $price = $row["price"];
             $shippingprice = $row["shippingprice"];
             $details = $row["details"];
             $category = $row["category"];
             $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
             //product_name, price, shippingprice, details, category, date_added 
         }

    } else 
    {
        echo "No product in the system with that ID.";
        exit();
    }

} else 
{
    echo "Data to render this page is missing.Get ID variable is not set. Please contact us.";
    exit();
}
mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $product_name; ?></title>
<link rel="stylesheet" href="style/style.css" type="text/css" media="screen" />
</head>
<body>
<div align="center" id="mainWrapper">
  <?php include_once("template_header.php");?>
  <div id="pageContent">
  <table width="100%" border="0" cellspacing="0" cellpadding="15">
  <tr>
    <td width="19%" valign="top"><img src="inventory_images/<?php echo $id; ?>.png" width="142" height="188" alt="<?php echo $product_name; ?>" /><br />
      <a href="inventory_images/<?php echo $id; ?>.jpg">View Full Size Image</a></td>
    <td width="81%" valign="top"><h3><?php echo $product_name; ?></h3>
      <p><?php echo "£".$price; ?><br />
        <br />
        <?php echo "£".$shippingprice; ?> <br />
<br />
        <?php echo $details; ?>
<br />
        </p>
      <form id="form1" name="form1" method="post" action="cart.php">
        <input type="hidden" name="pid" id="pid" value="<?php echo $id; ?>" />
        <input type="submit" name="button" id="button" value="Add to Shopping Cart" />
      </form>
      </td>
    </tr>
</table>
  </div>
  <?php include_once("template_footer.php");?>
</div>
</body>
/html>
4

2 回答 2

0

更改此行

$id = preg_replace('#[^0-9]#i', '', $_GET['?id=1']); 

$id = preg_replace('#[^0-9]#i', '', $_GET['id']); 
于 2012-04-15T08:22:05.873 回答
0

$_GET 超全局是一个名称-值数组。因此,如果您的查询字符串是 ?id=1,则 $_GET 将包含

array( 'id' => 1 )

因此,您可以使用 $_GET['id'] 检索 id 的值。然后,您可以根据需要检查预期值。

于 2012-04-15T08:22:39.410 回答