【问题标题】:Using PHP post for simple prime number program [closed]使用 PHP 发布简单的素数程序 [关闭]
【发布时间】: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 的基础知识

标签: php primes


【解决方案1】:

您的错误实际上在 html 中,删除第一个 &lt;form&gt; 标记,它应该可以工作,尽管您的代码正在抛出

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>

【讨论】:

  • 啊..这行得通-谢谢!我不能接受你的回答,直到 5 分钟过去了。你能解释一下为什么最初的标签会阻止代码工作吗?我需要确保我不会两次犯同样的错误。
  • 因为您提交的是一个空表单 - 第一个打开了。
  • @MissDizy 你不能有 2 个这样的
    标签。
  • 对 - 谢谢。会记住这一点。非常感谢您的帮助!
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多