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意味着可以在任何地方/任何地方使用。