FORM表单提交
1. 需要设置时区,避免日期类API警告
2. web安全措施
2.1 htmlspecialchars(): 可以把特殊字符转换为实体,避免浏览器解析为标签
2.2 trim(): 去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
2.3 stripslashes(): 删除用户输入数据中的反斜杠(\)
2.4 empty(): 判断变量是否为空值
2.5 isset(): 判断变量是否存在
2.6 preg_match(): 正则匹配一次,preg_match_all()匹配多次
3. 判断提交方法
代码演示:
date_default_timezone_set('PRC');
function web_form_safe($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
function get_method() {
$method = strtolower($_SERVER["REQUEST_METHOD"]);
$arr = $err_arr = array();
echo "提交方法:{$method}<br>";
if ($method === "get") {
$arr = $_GET;
} elseif ($method === "post") {
$arr = $_POST;
} else {
$arr = $_REQUEST;
}
foreach($arr as $key => $val) {
$arr[$key] = web_form_safe($val);
if (empty($val)) {
$err_arr[count($err_arr)] = "{$key}的值不能为空";
}
}
return array(
"suc_arr" => $arr,
"err_arr" => $err_arr
);
}
function demo() {
$array = get_method();
print_r($array);
}
demo();