isset($ _ GET ['variable']) - 不捕获空字段

时间:2015-08-27 14:05:16

标签: php html forms

我有一个页面,用户填写表单以注册他们的团队:

<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语句中的代码。 为什么要这样做?

2 个答案:

答案 0 :(得分:6)

使用empty()代替isset() - 空将检查变量是否为空且同时设置。

答案 1 :(得分:2)

isset()只是检查它是否设置,它可以是任何非空的,其中empty()检查变量是否设置,如果它是否检查它为空,&#34;& #34;,0等。改变

isset($_GET['variable']) 

if(!empty($_GET['variable'])) 

将是您尝试检查此问题的更好方法。