我发现在循环中检查所有变量更容易维护:
<?php
// VARIABLES NEEDED BY THIS PAGE
$needed_session = array(
'Admin' => "",
);
$needed_request = array(
'act' => "",
);
foreach($needed_session as $var => $default)
if (!isset($_SESSION[$var]))
$_SESSION[$var] = $default;
foreach($needed_request as $var => $default)
if (!isset($_REQUEST[$var]))
$_REQUEST[$var] = $default;
?>
即使写入 _REQUEST 确实是一种糟糕的编码习惯,但至少应该区分 POST 和 GET。
作为一种变体,您可以只声明那些已知的变量:
foreach($needed_request as $var => $default)
if (!isset($_REQUEST[$var]))
${$var} = $default;
else
${$var} = $_REQUEST[$var];
有多种可能性: 1. 您可以在导入时在语法上验证变量,例如通过正则表达式)。2. 你可能会声明一些“真正需要的变量”,它们的缺失会抛出一个错误页面。
但是,如果您要在这条路上走得更远,最好建议您研究一些更高级别的框架。