【问题标题】:How do I multiply values in PHP?如何在 PHP 中将值相乘?
【发布时间】:2014-02-06 04:31:08
【问题描述】:

我试图找到一个基本输入,用户输入一个数字和第二个数字然后相乘。

我让它在没有 isset 函数的情况下工作,但现在我试图在页面首次启动时回显错误行。如果您看到输入,它被命名为 name 和 name2,所以我在 PHP 中调用它们。 我的原始代码没有使用 isset 并且可以正常工作,但是在任何输入之前我都遇到了错误。这是我的 PHP 代码:

<html>

    <style>
        <?php include 'style.css';?>
    </style>
    <body>

        <form method="post">
            <p> Enter Value 1:<input type="text" name="name"> <br>
                <p> Enter Value 2:<input type="text" name="name2"><br>
            <input type="submit" value="send">
        </form>


        <br>
        <h3>Your input:</h3><br>

<?php

if (isset($_POST['name'])) && (isset($_POST['name2'])){
    $num=$_POST['name'];
    $num2=$_POST['name2'];
    echo $num*$num2;
}

else{
    echo '';
}


?>
    </body>
</html>

【问题讨论】:

  • 您还需要检查/验证他们的输入,因为他们可能会尝试搞笑并使用 alpha 字符
  • 你遇到的错误
  • 我如何验证是否有人可以给我一个示例代码?

标签: php html


【解决方案1】:

您过早关闭了 IF 括号。该行应该是这样的:

if (isset($_POST['name']) && isset($_POST['name2'])) {

【讨论】:

    【解决方案2】:

    这是工作代码,你有一些额外的括号。如果您将用户的整数值相乘,请始终使用intval 函数,以便您始终拥有整数值。如果用户输入字符串或字符,intval 将变为零

    <html>
    
    <style>
        <?php include 'style.css';?>
    </style>
    <body>
    
        <form method="post">
            <p> Enter Value 1:<input type="text" name="name"> <br>
                <p> Enter Value 2:<input type="text" name="name2"><br>
            <input type="submit" value="send">
        </form>
    
    
        <br>
        <h3>Your input:</h3><br>
    
    <?php
    
    if (isset($_POST['name']) && isset($_POST['name2'])){
        $num  = intval($_POST['name']);
        $num2 = intval($_POST['name2']);
        echo $num*$num2;
    }
    
    else{
        echo '';
    }
    
    
    ?>
    

    【讨论】:

      【解决方案3】:

      试试这个我觉得对你有帮助:

      <form method="POST">
      <input type="text" name="value1" placeholder="Enter 1st Value" required>
      <input type="text" name="multiply" value="*" readonly>
      <input type="text" name="value2" placeholder="Enter 2nd Value" required>
      <input type="submit" name="submit" value="Calculate">
      </form>
      <?php
      if(isset($_POST['submit'])){
          $value1 = $_POST['value1'];
          $multiply = $_POST['multiply'];
          $value2 = $_POST['value2'];
      
          if($multiply == "*"){
              echo $value1*$value2;
          }
      }
      ?>
      

      【讨论】:

        【解决方案4】:

        主要问题是括号没有正确关闭

          if(condition1)&& (condition2){
          }
        

        应该是

          if((condition1)&&(condition2)){
        
          }
        

        您也可以为此使用单一条件,如下面的代码所示

                <style>
                    <?php include 'style.css';?>
                </style>
                <body>
        
                    <form method="post">
                        <p> Enter Value 1:<input type="text" name="name"> <br>
                            <p> Enter Value 2:<input type="text" name="name2"><br>
                        <input type="submit" value="send" name="send">
                    </form>
        
        
                    <br>
                    <h3>Your input:</h3><br>
        
            <?php
        
            //if (isset($_POST['name'])) && (isset($_POST['name2'])){  problem is here your paranthesis are not closed properly
            if (isset($_POST['send'])){ //use this as this will ensure that your send button is clicked for submitting form
                $num=$_POST['name'];
                $num2=$_POST['name2'];
                echo $num*$num2;
            }
        
            else{
                echo '';
            }
        
        
            ?>
                </body>
            </html>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-12-05
          • 1970-01-01
          • 1970-01-01
          • 2017-04-02
          • 1970-01-01
          • 1970-01-01
          • 2016-06-16
          相关资源
          最近更新 更多