说明
示例中使用用函数说明:
isset函数()
当要 判断一个变量是否已经声明的时候 可以使用 isset 函数,可以避免Notice:Undefined index...错误
htmlspecialchars() 函数
避免利用 $_SERVER["PHP_SELF"] 导致xss攻击,用户提交代码当做字符串处理
PHP 表单处理
test.html
test.php
您输入的账户是:!
您输入的密码是:
PHP 下拉菜单单选
PHP 下拉菜单多选
如果下拉菜单是多选的( multiple="multiple"),我们可以通过将设置 select name="q[]" 以数组的方式获取,以下使用 POST 方式提交
'http://www.python.org',
'php' => 'https://www.php.net/',
'JavaScript' => 'https://www.javascript.com/',
);
foreach($q as $val) {
// PHP_EOL 为常量,用于换行
echo $sites[$val] . PHP_EOL;
}
} else {
?>
单选按钮表单
PHP 单选按钮表单中 name 属性的值是一致的,value 值是不同的
checkbox 复选框
'http://www.python.org',
'php' => 'https://www.php.net/',
'JavaScript' => 'https://www.javascript.com/',
);
foreach($q as $val) {
// PHP_EOL 为常量,用于换行
echo $sites[$val] . PHP_EOL;
}
} else {
?>
表单栅格化处理
利用htmlspecialchars()函数来对提交的数据进行栅格化处理,屏蔽提交代码渲染防止xss攻击
表单综合示例
test.html
用户注册页面
test.php
");
print("PHP获取到的【用户】:");
print($user);
print("
");
print("PHP获取到的【密码】:");
print($passwd);
print("
");
print("PHP获取到的【姓名】:");
print($name);
print("
");
print("PHP获取到的【邮箱】:");
print($email);
print("
");
print("PHP获取到的【性别】:");
print($gender);
print("
");
print("PHP获取到的【学科】:");
print_r($subjects);
}
function test_input($data)
{
if (!is_array($data)){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
}
return $data;
}
?>
结果展示
所有数据:Array ( [user] => xiaoming [passwd] => 123456 [name] => 小明 [email] => [email protected] [gender] => true [subjects] => Array ( [0] => python [1] => PHP ) )
PHP获取到的【用户】:xiaoming
PHP获取到的【密码】:123456
PHP获取到的【姓名】:小明
PHP获取到的【邮箱】:[email protected]
PHP获取到的【性别】:true
PHP获取到的【学科】:Array ( [0] => python [1] => PHP )