【问题标题】:Calculating values with formulae from user input in PHP使用 PHP 中用户输入的公式计算值
【发布时间】:2014-05-09 23:40:10
【问题描述】:

我想使用从名为 ampMin、voltMin 和 hastMin 的输入框中得到的值来做一个方程式...

我不确定这是语法问题还是我的方法完全错误。这是一个示例,说明公式在 Excel 中的外观和工作方式。

我做错了什么?感谢您的宝贵时间!

编辑:值得一提的是整个代码块都在“strckenergi.php”中。

<html>
<title>Sträckenergi</title>
<body>
    <h3>Svetsmetod: 111</h3>
    <h4><i>Med K=0.8</i></h4>
    <pre>
        <form method="post" action="strckenergi.php">
            Amp. Min <input type="text" name="ampMin">  Volt. Min <input type ="text" name="voltMin"> Hast. Min <input type="text" name="hastMin"> </pre>
        <?php
        echo "kJ/mm (minimum) = " . $qMin
        $qMin = ( $ampMin * $voltMin ) / (( $hastMin * 1000 ) / $hastMin * 0.8));
        ?>  
</body>
</html>

【问题讨论】:

    标签: php forms excel input types


    【解决方案1】:

    这行得通。

    <html>
    <title>Sträckenergi</title>
    <body>
    <h3>Svetsmetod: 111</h3>
    <h4><i>Med K=0.8</i></h4>
         <pre>
        <form method="post" action="form.php">
    Amp. Min <input type="text" name="ampMin">  Volt. Min <input type ="text"       name="voltMin"> Hast. Min <input type="text" name="hastMin">
        <input type="submit" value="submit"> </pre>
    </form>
    
    <?php
        if($_POST){
    
            $voltMin = $_POST['voltMin'];
            $ampMin = $_POST['ampMin'];
            $hastMin = $_POST['hastMin'];
    
            $qMin = ( $ampMin * $voltMin ) / ( $hastMin * 1000 ) / $hastMin * 0.8;
            echo "kJ/mm (minimum) = " . $qMin;
        }
        ?>
    

    【讨论】:

      【解决方案2】:

      您似乎没有正确使用表单。如果您希望浏览器能够立即显示它,您应该使用 JavaScript。 PHP 将需要额外的页面加载或 AJAX 请求。

      为了发布表单,您需要一个提交按钮。否则,浏览器将不知道如何处理它。

      此外,您的第一行 PHP 行需要一个分号,而您的第二行需要在第一行之上 - 否则,解释器在打印它时不会知道您的值是什么,因为它还没有被计算出来.

      说实话,我认为您需要先在 Google 上搜索如何构建 HTML 表单,然后才能查找简单的 JavaScript。 Lycka 直到!

      【讨论】:

        【解决方案3】:

        首先,正如上面 Joel Hinz 所说,您需要一个提交按钮,以便页面知道用户何时完成输入并希望将表单发送到服务器进行处理。

        其次,需要用标签关闭表单。

        第三,在这个阶段你最好还是坚持使用 php; JavaScript 对于初学者来说可能有点棘手和令人沮丧。 这是您的表单外观的粗略近似值。

        <form method="post" action="strckenergi.php">
                Amp. Min  <input type="text" name="ampMin"> 
                Volt. Min <input type ="text" name="voltMin">
                Hast. Min <input type="text" name="hastMin">
        
               <input type="submit" value="submit">
        </form>        
        

        有关表格的清晰说明,请参阅http://www.tizag.com/phpT/forms.php

        首先确定。提交表单时,$_POST 数组中包含的值不能立即用于处理输入的服务器上的脚本。

        为此,您将需要以下内容:

        <?php
             if($_POST){// this checks for the existence of the $_POST array, i.e. was something submitted    
                       //now we're assuming a form was submitted
                     $voltMin = $_POST['voltMin'];
                     $ampMin  = $_POST['ampMin'];
                     $hastMin = $_POST['hastMin'];
        
        
                     $qMin = ( ($ampMin*$voltMin)/($hastMin*1000)/($hastMin*0.8) );
                     echo "kJ/mm (minimum) = " . $qMin;
             }// if($_POST)...
           ?>  
        

        然后您可以处理这些元素,并打印出您的计算结果。 哦,除非你真的需要它们,否则去掉 pre 标签。

        【讨论】:

        • 感谢您的回复!现在我的代码如下所示: Sträckenergi

          Svetsmetod: 111

          Med K=0.8

          放大器。最小值 伏特。最小 Hast。最小值
          但在使用 Firefox 加载时它仍然只显示一个空白页面
        • 你的意思是当你第一次加载页面时表单甚至没有显示?
        • 在我更改了您说我应该更改的内容后,我无法查看是否正确。是的,当我第一次加载页面时,表单甚至没有显示..
        • 您应该重新发布您的确切代码,以便我们可以看到您哪里出错了。请注意,您更改了设置 $qMin 变量并打印它的顺序。您试图在原始代码中初始化它之前输出它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        相关资源
        最近更新 更多