我从表单中读取了一个值作为用户的输入。表格是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注入漏洞制作演示。请忽略此处的安全问题。
答案 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查询一起使用。