【发布时间】:2015-04-10 20:20:46
【问题描述】:
我可以创建一组简单的 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';
}
}
?>
【问题讨论】:
-
尝试 $value = false;在第一个 if 之前
-
您确定这些值通过 POST 正确传递给您的 PHP 代码吗?试试 var_dump($_POST) 吧?
-
您最好使用一个函数来检查返回真或假的素数。你的代码会更干净,更容易理解。试试这个:stackoverflow.com/questions/16763322/…
-
@dbinns66 - 嗨!没运气。主要作品的代码。认为它是我标记的帖子
-
@Maximus2012 -嗨。是的,我认识到一个功能会更好,但使用小步骤 - 掌握 Ifs,了解 post 的基础知识