首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP偶数或奇数脚本

问PHP偶数或奇数脚本
EN

Stack Overflow用户
提问于 2015-09-19 08:08:13
回答 4查看 4.5K关注 0票数 3

我用这段代码来检查一个数字,如果它是偶数或奇数。我正在学习PHP,当我运行这段代码时,会出现一个不寻常的错误。

代码语言:javascript
复制
<html>
    <body>
    <head>
        <title>Judging even and odd numbers</title>
    </head>

    <form method = "post" action="EAO.php" >
       <font size = "20">Please enter a number to check if it is even or odd:</font>
       <input type = "text" name = "number" />
       <input type = "hidden" name="checker" value="true" />
      <input type = "submit" value = "submit" />
    </form>
    <?PHP
      if (isset($_POST['checker'])) {
        $number = $_POST['number'];
        if ($number % 2 == 0 ) {
          echo "The number is Even";
        }
        if($number % 2 == 1 ) {
          echo "The number is odd";
        }
        if ($number == "") {
          echo "Please enter a number";
        }
      }
    ?>
    </body>
</html>

当你输入一个数字时,它很好,但是当你空着提交表单时,它写着“请输入一个数字,这个数字是偶数”。如果我做错了什么,帮我改正。如果我的代码不符合判断数字的标准,请编写更好的代码。谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-19 08:12:58

只要颠倒你的逻辑就能给你带来魔力。您必须始终使用if () {....} elseif () {....},以便在给定的时间内只运行一个逻辑。

代码语言:javascript
复制
<html>
    <head>
        <title>Judging even and odd numbers</title>
    </head>    
    <body>

    <form method = "post" action="EAO.php" >
       <font size = "20">Please enter a number to check if it is even or odd:</font>
       <input type = "text" name = "number" />
       <input type = "hidden" name="checker" value="true" />
      <input type = "submit" value = "submit" />
    </form>
    <?PHP
      if (isset($_POST['checker'])) {
        $number = $_POST['number'];
        if ($number == "") {
          echo "Please enter a number";
        }            
        else if ($number % 2 == 0 ) {
          echo "The number is Even";
        }
        else if($number % 2 == 1 ) {
          echo "The number is odd";
        }            
      }
    ?>
    </body>
</html>
票数 3
EN

Stack Overflow用户

发布于 2015-09-19 08:19:39

试试这个:

代码语言:javascript
复制
<html>
    <head>
        <title>Judging even and odd numbers</title>
    </head>
    <body>
    <form method = "post" action="" >
       <font size = "20">Please enter a number to check if it is even or odd:</font>
       <input type = "text" name = "number" />
       <input type = "hidden" name="checker" value="true" />
      <input type = "submit" value = "submit" />
    </form>
    <?PHP
      if (isset($_POST['checker'])) {
        $number = $_POST['number'];
    if(empty($number))
    {
        echo "Please enter a number";
    }
    elseif ($number % 2 == 0 ) {
          echo "The number is Even";
        }
        else {
          echo "The number is odd";
        }
      }
    ?>
    </body>
</html>

将车身标签放在头部标签后面。如果要将表单张贴到同一页,则操作参数是可选的。使用if...elseif...else条件else.asp

票数 1
EN

Stack Overflow用户

发布于 2015-09-19 08:40:39

另一个工作版本是(改进的安全性):

代码语言:javascript
复制
<?php
if (isset($_POST['checker']) && $_POST['checker'] == 'true') {

   if (empty($_POST['number'])) { // 0 or empty values will be blocked
    echo "Please enter a number";
   } else {
     if (ctype_digit($_POST['number'])) { // only number will be accepted

     $number = $_POST['number'];
     if ($number % 2 == 0 ) {
     echo "The number is Even";
     }
     if($number % 2 == 1 ) {
     echo "The number is odd";
     }

     else {
     echo 'Numbers only please!';
     }
   }

}
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32665853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档