我有一个页面,用户填写表单以注册他们的团队:
<html>
<form name="newteam" method="get" action="regnewteam.php?team_name=$team_name&member1=$member1">
<tr>
<td>
Register Team Name:
</td>
<td>
<input name="team_name" type="text" value="<?php echo $team_name;?>">
<?php settype($team_name, 'string');?>
</td>
</tr>
<tr>
<td>
Member N1:
</td>
<td>
<input name="member1" type="text" value="<?php echo $member1;?>">
<?php settype($member1, 'string');?>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" id="submit" value="Register">
</td>
</tr>
</form>
</html>
一旦他们提交了它,我使用if (isset($_GET['team_name']) && isset($_GET['member1']))
检查regnewteam.php中的两个字段是否已满,但是当字段为空时,它仍然执行if语句中的代码。
为什么要这样做?
答案 0 :(得分:6)
使用empty()
代替isset()
- 空将检查变量是否为空且同时设置。
答案 1 :(得分:2)
isset()
只是检查它是否设置,它可以是任何非空的,其中empty()
检查变量是否设置,如果它是否检查它为空,&#34;& #34;,0等。改变
isset($_GET['variable'])
到
if(!empty($_GET['variable']))
将是您尝试检查此问题的更好方法。