当我输入一个值时,它应该只是数字。在我的代码中,检查似乎是错误的,因为我可以输入几个非数字项。 你有好主意吗 ?
<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>
答案 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>" ;
}