我希望用户在php中只输入正数来计算阶乘,而不是字母表,也不是html形式的负数,因为我是php的新手,我怎么能?
<div id="mydiv">
<?php if(isset($_POST['fa']))
{ $val = $_POST['factori']; $valu=$val-1; while ( $valu!=1 )
{ $val=$valu*$val; $valu--; } }
?>
<form method="post" action=""> <h2>Calculate factorial for any number<br></h2>
如果你想禁止人们在你的客户端(前端)中输入负数,那么你必须使用JavaScript来监听输入区域中的更改,并且你必须使用regex来验证它们(或者简单地检查输入值是否为负数),你可以发出某些警告消息,并使提交表单无效。
另一种方法是允许用户将任何数值发布到您的后端(PHP),在那里您可以简单地检查该值是否合法,如果它不合法,则可以简单地返回错误而不是计算值。
试着解决这个问题,如果你碰壁了就回来找我们。
这样做,检查数字是否为数字并且>0
<div id="mydiv">
<?php
if(isset($_POST['fa']))
{
$val = $_POST['factori'];
if(is_numeric($val) && $val > 0) // check if input is numeric and > 0
{ //valid input
$valu=$val-1;
while ( $valu!=1 )
{
$val=$valu*$val; $valu--;
}
}
else
{
// input is not numeric or is < 0
}
}
?>
<form method="post" action=""> <h2>Calculate factorial for any number<br></h2>