【发布时间】:2017-08-21 04:34:44
【问题描述】:
我在这里看到了一些关于这个主题的问题,但没有一个能解决我的问题。我正在尝试使用 SQL 和复选框制作一个简单的过滤器。
到目前为止,我得到了这个代码:
<form action="#" method="GET" id="filter">
<input type="checkbox" name="omgeving[]" value="Indoor">Indoor<br />
<input type="checkbox" name="omgeving[]" value="Outdoor">Outdoor<br />
<input type="submit" name="kies" value="Kies" />
</form>
<?php
if(isset($_GET['omgeving']) && count($_GET['omgeving'] > 0)) {
$catid = implode(',', $_GET['omgeving']);
$catid = mysql_real_escape_string($catid);
$query = mysql_query("SELECT * FROM SomeWhere WHERE Omgeving IN (".$catid.")");
while($row = mysql_fetch_assoc($query)) {
$id = $row['Id'];
$prod = $row['Product'];
echo $prod . "<br />";
}
}
?>
当我点击 submit 时,它会做一些事情,它会将 URL 更改为:filtertest/?omgeving[]=Indoor&kies=Kies,但我认为查询无法正常工作,因为我的页脚通常会消失,这意味着我的代码不正确,页面停止进一步加载。为了我的爱,我无法弄清楚为什么这不起作用......
有人可以帮助我吗?
我已经查看了这个answer,但这并不能解决我的问题。上面的代码是至少做某事的代码。
帮助...我在这里做错了什么?
【问题讨论】:
-
-
如果我只想在同一页面上更新查询,是我还是不需要操作脚本...
-
@Andreas nice one :'D,Jay-oh,你应该在安全方面工作一下php.net/manual/en/security.database.sql-injection.php
-
是的,我知道这里的安全是一个问题。我只是想让代码正常工作,然后担心安全性。这个网站还没有上线,所以我现在是唯一一个使用它的人:)