在 PHP 页中传递变量

Passing variables in PHP pages

我从用户输入的表单中读取了一个值。表格是 POST.

<form action="form_handler.php" method="POST">

然后,在 form_handler.php 页面中,我将这个值保存在一个变量中。 $productID=$_POST['product']; 然后,我想通过 link 将此变量传递给另一个页面:

 echo "<a href='products.php?prodID=".$productID."' title='Products 
 Page' class='whatEver'>click here for product details</a>";

当我单击 link 时,我在 link 中看到了值。但是,在页面 products.php 内,我想 MySQL 查询产品详细信息:

$sql = "SELECT * FROM products WHERE prodID = '$productID'"; 

我得到 0 个结果。我还尝试回显 $productID 值,它似乎是空的,而不是我在 URL.

中看到的值

请问我的错误是什么?如何根据我在 link 中传递的 productID 变量进行数据库查询以获取产品详细信息?

注意:我正在尝试制作 MySQL 注入漏洞的演示。请忽略此处的安全问题。

当您在 link 后跟 ?var=value

中发送变量时

你需要用

之类的东西来获取它

$variable = $_GET['var'];

在你的情况下你的 products.php 应该有 $prodid = $_GET['prodID'];

echo "<a href='products.php?prodID=".$productID."' title='Products 
Page' class='whatEver'>click here for product details</a>";

在我看来,您将其作为 prodID 传递给 products.php。 您可以尝试使用:

$sql = "SELECT * FROM products WHERE prodID = '$prodID'";

相反?

就像之前使用 $productID=$_POST['product']; 一样, 您需要做同样的事情才能在 products.php 中使用变量,除了 post 变量,它是一个 get 变量(因为它在 url 中)。使用 $productID=$_GET["productID"]

你不能像那样得到 productID .. 你必须输入 `$productID = $_GET['prodID']; ' 您可以将该变量与 sql 查询一起使用。