我创建了一个函数来遍历$_GET
数组,并在验证数据后为每个元素创建一个常量。但是,它只返回第一个常量。
function sanitize($key, $value){
$safe_types = array(
"month",
"year",
"course",
"pagetype",
"studentid"
);
if (in_array($key, $safe_types)) {
$key = strtoupper($key);
if (is_numeric($value) || preg_match("#^[a-z_]+#", $value)){
define ($key, $value);
}
}
}
foreach ($_GET as $key => $value) {
sanitize($key, $value);
}
我也尝试了array_walk
没有更好的结果。
谢谢大家看一看并告诉我它对你有用。
问题不在于提供的 $_GET 数组,而在于我如何测试结果。我有以下几点:
echo
"<br/>month: ".MONTH;
"<br/>course: ".COURSE;
"<br/>pagetype: ".PAGETYPE;
"<br/>studentid: ".STUDENTID;
。但当然应该有句点而不是分号。