0

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;
    }      
?>
4

3 回答 3

4

可以在表单标签之外使用 PHP 超全局变量$_GET并按预期工作吗?

是的。PHP 代码在 HTML 中的位置完全无关紧要,除了确定输出将出现在文档中的什么位置。

$_GET['select box id']

表单控件使用它们的名称作为提交键,而不是 id。

mysql_query

阅读该功能文档页面上的红色大警告框。

于 2012-09-06T15:32:05.103 回答
1

如果这是用于登录信息,则无论如何您都不应该使用 get 请求 - 您应该使用 post.

但无论如何,是的,它应该工作。只要数据与查询一起发送,它就应该工作。

也就是说,您可能还想对一些基本的安全方面进行一些研究,例如验证和清理输入。否则,您可能会面临一些相当讨厌的攻击。

我会推荐 O'Reilly Press 的 Essential PHP Security 一书。我也会考虑使用 MySql PDO 之类的东西来进行数据库查询,因为它比简单地使用 mysql_query 更可靠和安全。

于 2012-09-06T15:37:32.717 回答
0

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

于 2012-09-06T15:32:21.580 回答