可以使用PHP超全局$ _GET并在表单标记之外按预期工作吗?例如,我可以在表单标记之外执行$ _GET('select box id')并使其按预期工作吗?
<?php
---Placeholder for DB login info---
switch($_GET['select box id'])
{
case "text shown for second option of select box":
$query = mysql_query("placeholder for actual query");
$row = mysql_fetch_row($query);
$textboxValue = $row[0];
break;
}
?>
答案 0 :(得分:4)
可以使用PHP超全局
$_GET
并在表单标记之外按预期工作吗?
是。除了确定输出将在文档中出现的位置之外,HTML代码在HTML中的位置完全是无关紧要的。
$_GET['select box id']
表单控件将其名称用于提交密钥,而不是ID。
mysql_query
阅读the documentation page for that function上的大红色警告框。
答案 1 :(得分:1)
如果这是登录信息,你不应该使用get请求 - 你应该使用post。
但无论如何,是的它应该有效。只要数据与查询一起发送,它就应该有效。
尽管如此,您可能还想对一些基本的安全方面进行一些研究,例如验证和消毒输入。否则,你可能最终会打开一些相当讨厌的攻击。</ p>
我会推荐O'Reilly Press出版的Essential PHP Security一书。我还会考虑使用像MySql PDO这样的东西来进行数据库查询,因为它比简单地使用mysql_query更加可靠和安全。
答案 2 :(得分:0)
超全球意味着可在任何地方/任何地方使用。