IS_Numeric并获取

时间:2018-05-27 10:23:34

标签: php

当我输入一个值时,它应该只是数字。在我的代码中,检查似乎是错误的,因为我可以输入几个非数字项。 你有好主意吗 ?

<body>
  <form method="GET" action="">
    <input type="text" name="niveau">
    <input type="submit" value="valider" >

  </form>
  <br />
  <?php 

  if (empty($_GET['niveau'])) 
  {
    echo 'Enter niveau please : ' . "</br>";
  }

  else if(isset($_GET['niveau'])) 
  {
    echo "Niveau : " .$_GET['niveau'] . "</br>";

  }

  else if (is_numeric($_GET['niveau']))
  {
    echo "Niveau is numeric" ;
  }

  else
  {
    echo "$var_name1 is not numeric. <br>" ;
  }

  ?>

</body>

1 个答案:

答案 0 :(得分:0)

问题在于您的if/else if结构。第一个if检查是否设置了niveau参数。如果是,则打印出niveau级别,如果不检查条件,则打印第二个。 例如,您可以在第一个条件中包含第二个else if条件,如下所示:

  if (empty($_GET['niveau'])) 
  {
    echo 'Enter niveau please : ' . "</br>";
  }

  else if(isset($_GET['niveau']) && is_numeric($_GET['niveau'])) 
  {
    echo "Niveau : " .$_GET['niveau'] . "</br>";

  }    

  else
  {
    echo "$var_name1 not set or not numeric. <br>" ;
  }