我可以创建一组简单的IF语句来查找数字是复合数还是素数(尽管我认为函数更适合)。
然而,当我尝试升级游戏并使用帖子时,我无法回应下面的任何一个声明。
这里没有语法错误,只是有缺陷的逻辑。问题是,缺陷在哪里?
感谢您的任何建议。
<form>
<form name="PrimeCalculator" method="post" action="">
<input type="text" name="input"> Enter any number to see if it's a Prime or Composite<br />
<input type="submit" name="submit" value="Calculate">
</form>
<?PHP
if($_POST['submit'] == "Calculate"){
$num=$_POST["input"];
for ($i = 2; $i <= $num-1; $i++) {
if ($num % $i == 0) {
$value= True;
}
}
if ($value) {
echo 'The Number '. $num . ' Is A Composite';
} else {
echo 'The Number '. $num . ' Is A Prime';
}
}
?>
答案 0 :(得分:2)
您的错误实际上是在html中,删除了第一个<form>
标记,它应该有效,尽管您的代码正在抛出
E_NOTICE : type 8 -- Undefined variable: value -- at line 14
输入素数时,因为$ value未设置。
您可以使用
if (isset($value) && $value)
代替检查。
<form name="PrimeCalculator" method="post" action="">
<input type="text" name="input"> Enter any number to see if it's a Prime or Composite<br />
<input type="submit" name="submit" value="Calculate">
</form>