表单中的防止非法访问需要用到的函数是empty()和isset();
我们需要先建一个表单框架
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="demo1.php" method="post">//必须写method="post",否则数据传不到php文件中
<div>
<label for="">用户名:</label>
<input type="text" name="name">
</div>
<div>
<label for="">密码:</label>
<input type="text" name="pwd">
</div>
<div>
<input type="submit" name="login" value="注册">
</div>
</form>
</body>
</html>
再建一个php文件,这两个要在同一个路径下。如demo1.php
//防止非法访问
if(empty($_POST)){
die('非法访问');
}
//获取表单中的值
//$_POST是一个预定义变量(必须大写)
$name=$_POST['name'];
$pwd=$_POST['pwd'];
echo "用户名:".$name;
echo '<br>';
echo "密码:".$pwd;
empty():检查一个变量是否为空
语法:empty($arr):如果$arr是非空或非零的值,则empty()返回false,换句话说,"",0,'0',null,false,array(),var $arr;以及没有任何属性的对象都被认为是空的,如果$arr为空,则返回false。
另一种方法阻止非法访问:isset(
eg:
if(!isset($_POST['name']){
die('非法访问');
}
isset():检查变量是否存在
返回值:如果$arr存在并且值不是null,则返回true;否则则返回false。
empty与isset的区别:
empty:检查$_POST数组是否为空。
isset:检查$_POST中是否有键。
empty拓展:检查用户名或密码不能为空,其中有一个为空,则给出提示。
$name=$_POST['name'];
$pwd=$_POST['pwd'];
if(empty($name) || empty($pwd)){
die('用户名或密码不能为空');
}