我希望用户只输入正数来计算因子不是字母而不是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>
答案 0 :(得分:0)
如果您想禁止人们在您的客户端(前端)输入负数,那么您必须使用JavaScript来监听输入区域中的更改,并且必须使用正则表达式验证它们(或者只是通过检查输入值是否是否为否定),您可以提供某些警告信息并使提交表单无效。
另一种方法是允许用户将任何数值发布到您的后端(PHP),并且您可以简单地检查该值是否合法,如果它不合法,您可以简单地返回错误而不是计算值。
尝试解决问题,如果碰壁就回到我们身边。
答案 1 :(得分:0)
这样做,检查数字是否为数字&gt; 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>