当我输入一个值时,它应该是数字的。在我的代码中,检查似乎是假的,因为我可以输入几个非数字项。你有什么主意吗?
<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>发布于 2018-05-27 10:30:52
问题在于您的if/else if结构。第一个如果检查niveau参数是否被设置的话。如果是,则打印出niveau级别,而第二个If条件将不被检查。例如,您可以在第一个条件中包含第二个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>" ;
}https://stackoverflow.com/questions/50551186
复制相似问题