0

有没有办法在不使用列名的情况下调用 URL 中的字段行?

所以我目前有一个发布网站,用户可以从下拉列表中选择类别或子类别,它当前如何设置我的网站输出链接到所选类别,例如..

topics.php?category=Food&sub_cat=Pies
topics.php?sub_cat=Pies

这允许用户访问其中一个链接,或同时访问这两个链接

topics.php?category=Food&sub_cat=Pies

为了提供更多功能,我正在考虑添加文本框而不是下拉菜单,问题是用户很可能会在与其他用户不同的框中输入数据,即。

用户 1. catbox:食物subcatbox: Pies User 2. catbox: Pies subcatbox: Food

所以在这种情况下,我当前的 URL 系统不会返回准确的结果,所以我的问题是是否有一种方法可以替换“类别”或“子类别”,并将结果放在一起,而不会将它们列在 2-5 个不同的因此,字段不会返回所有 = 该值的结果?本例中的“食物”或“馅饼”。

topics.php?xxx=Food&xxx=Pies

或topics.php?xxx=Pies&xxx=食物

看So homepage如果你点击“php”它会把php放在URL中,点击mysql它会放“php+mysql”之类的东西。

4

2 回答 2

0

通过 URL 中的参数调用字段行可能是一个非常糟糕的主意。这是允许大规模 SQL 注入攻击的完美方式。所以,答案可能是“是的,但请不要!”

现在可能是您的代码在后端解析这些并通过各种方法中的任何一种来保护它们,我无法从发布的代码量中看出。

于 2013-07-20T14:14:43.307 回答
0

您可以在数据库中使用父子方法。
你的桌子会是这样的

id - parent_id - category_name - 深度

当你想向表中插入数据时,它的深度将是它的父深度的一加

当有人发布到您的页面时,您首先会查询输入的女巫具有最深度,那么这将是您的子类别。

于 2013-07-20T13:57:49.297 回答