可以使用PHP $ _GET超全局的地方

时间:2012-09-06 15:30:43

标签: php

可以使用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;
    }      
?>

3 个答案:

答案 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)

超全球意味着可在任何地方/任何地方使用。