PHP-通过web浏览器呈现动态网页


PHP - Rendering dynamic web page through web browser

我是php和编程的新手,我一直在学习教程,但在尝试将产品显示到网页上时遇到了问题,这是正在测试的代码

<?php 
if (isset($_GET['id'])) {
    include "storescripts/connect_to_mysql.php"; 
    $id = preg_replace('#[^0-9]#i', '', $_GET['id']); 
    $sql = mysql_query("SELECT * FROM products WHERE id='$id' LIMIT 1");
    $productCount = mysql_num_rows($sql); 
    if ($productCount > 0) {
        while($row = mysql_fetch_array($sql)){ 
             $product_name = $row["product_name"];
             $price = $row["price"];
             $details = $row["details"];
             $category = $row["category"];
             $subcategory = $row["subcategory"];
             $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
         }
    } else {
        echo "That item does not exist.";
        exit();
    }
} else {
    echo "Data to render this page is missing.";
    exit();
}
mysql_close();
?>

当我试图通过浏览器查看页面时,我会收到消息"要呈现此页面的数据丢失"

我知道这与有关

if (isset($_GET['id'])) {

我假设这可能与"id"有关,但我不知道如何解决它。任何建议和帮助都将不胜感激,如果这看起来很基本,很抱歉,但正如我所说,我是新来的,无法解决这个问题。我试了一整天

感谢

显然,没有设置$_GET['id']。如果您的链接类似于http://www.example.com/index.php?id=32,则会进行设置。

第二,不要在查询中使用GET/POST变量而不清除它们!

第三,首先不要使用mysql_query,而是使用PDO或mysqli来代替

当您看到$_GET时,它正在URL中查找参数。因此:

http://localhost/yourphpscript.php?id=123

这正是它所期望的。必须在URL中定义某些ID。

您可以尝试以下代码:

    <?php
    if (isset($_GET['id'])){ //Someone submitted a form or just prepended parameter to link
      include "storescripts/connect_to_mysql.php"; //Include script with mysql connection
      $id = preg_replace('#[^0-9]#i', '', $_GET['id']); //Sanitize input - remove everything besides numbers
      $result = mysql_query("SELECT * FROM products WHERE id='$id' LIMIT 1"); //Execute query. Only 1 product because of LIMIT 1
      if (mysql_num_rows($result)==1){ //If the product is found
         $product = mysql_fetch_assoc($result) ; //Take the product
         foreach ($product as $property => $value){ //Go through each property of product
           echo "<div> {$property} : {$value} </div>" ;
         }
      }
    } else {?>
      <form method="get" action="<?php $_SERVER['PHP_SELF'] ; ?>">
        <input type="text" name="id" />
        <input type="submit" value="Submit product ID"/>
      </form>
<?php    
}
    ?>

如果你有任何问题,直接问。

学习跟踪您的id。消毒并检查发送id的url是否传递了正确的值,并在开始时再次检查中的值

                     <?php
                    echo $_GET['id'];
                      ?>

使用它可以知道您的id值