在PHP页面中传递变量

时间:2015-04-24 18:03:02

标签: php html mysql web-development-server

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

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

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

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

当我点击链接时,我会看到链接中的值。但是,在页面products.php内部,我想让MySQL查询产品详细信息:

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

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

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

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

4 个答案:

答案 0 :(得分:0)

当您在链接中发送变量后跟?var=value

您需要使用类似

的内容

$variable = $_GET['var'];

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

答案 1 :(得分:0)

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'";

相反?

答案 2 :(得分:0)

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

答案 3 :(得分:0)

你不能得到那样的产品ID ..你必须把`$ productID = $ _GET [&#39; prodID&#39;]; &#39;您可以将该变量与sql查询一起使用。