可以使用PHP$_GET超全局的位置


Where the PHP $_GET superglobal can be used

PHP超全局$_GET是否可以在表单标记之外按预期使用和工作?例如,我可以在表单标记之外执行$_GET("选择框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;
    }      
?>

PHP超全局$_GET是否可以在表单标记之外按预期使用和工作?

是的。PHP代码在HTML中的位置是完全不重要的,除了确定输出将出现在文档中的位置。

$_GET['select box id']

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

mysql_query

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

如果这是登录信息,那么无论如何都不应该使用get请求,而应该使用post。

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

也就是说,您可能还想对一些基本的安全方面进行一些研究,例如验证和净化输入。否则,你最终可能会受到一些相当恶劣的攻击。

我推荐奥出版社的《基本PHP安全》一书。我也会考虑使用类似MySql PDO的东西来进行数据库查询,因为它往往比简单地使用MySql_query更可靠、更安全。

Superglobal意味着可以在任何地方/任何地方使用。