在html中访问变量(来自php表单)

时间:2016-02-04 02:20:13

标签: php html forms

所以我想创建一个简单的计算器。我有一个表格涉及几个"下拉选项/选择"框和提交按钮。为了测试,您选择一个选项并点击提交按钮。我有我独立的php表单(testform.php)基本上回显了所选的选项。但是,当您点击提交时,会将您带到testform.php页面,这是显示所选选项的位置。我的目标是让用户选择一些选项,点击提交,然后在SAME页面上显示一些内容。例如,选择了两个选项A和B(A是" 4" B是" 8")并且在形式中,我有一个等于A + B的新变量我希望新的变量(A + B的结果)显示在原始页面上。

这是一些代码。

在我的index.php文件中(即我的表单)

<form action = 'testform.php' method = 'post' class = 'formcontainer'>

    <select name="A">
        <option value="4">4</option>
    </select>

    <select name="B">
        <option value="8">8</option>
    </select>

    <input type="submit" name="submit" value="Calculate" />
</form>

这是我单独的php表单

<?php
    $A = $_POST["A"];
    $B = $_POST["B"];

    $result = $A + $B;
?>

基本上我想做的是在索引页面上显示变量$ result。我想目前,我的索引文件中没有php,只是表单。将我的php表单放在主索引文件中会更容易吗?同样,这只是为了让事情变得简单......我的实际php比简单的添加问题复杂一点。谢谢!

2 个答案:

答案 0 :(得分:1)

为了在同一页面上显示结果,您可以将其全部放在一个文件中,并忽略testform.php中的action,并对POST数组使用isset(),您决定添加要求用户选择号码的选项。即:<option value="">Please make a selection</option>

  • action = ''与“self”相同,如“same file”。

旁注:你从未关闭过你的选择,你现在的代码会在现在失败。

<form action = '' method = 'post' class = 'formcontainer'>

    <select name="A">
        <option value="4">4</option>
    </select>

    <select name="B">
        <option value="8">8</option>
    </select>

    <input type="submit" name="submit" value="Calculate" />

</form>

<?php
if(isset($_POST["submit"])){

if(isset($_POST["A"]) && isset($_POST["B"])){
    $A = $_POST["A"];
    $B = $_POST["B"];
    echo $result = $A + $B;
    }

}
?>

你也可以使用Ajax(正如我在评论中提到的那样),但这超出了这个问题的范围。

旁注:你可能已经注意到echo $result = $A + $B;中的回声。这实际上是有效的语法。

或者,您可以执行以下操作,但这只是更多的代码。

$A = $_POST["A"];
$B = $_POST["B"];
$result = $A + $B;
echo $result;

<强>脚注:

如果不对POST数组使用isset(),并在同一文件中使用整个代码(HTML表单和PHP),则会触发未定义的索引通知。

答案 1 :(得分:0)

我有办法这样做,我不知道它是否是最好的,但现在就是。

index.html文件:(我修改了一下)

<form action = 'testform.php' method = 'post' class = 'formcontainer'>

    <select name="A">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
          <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
     </select>
    <select name="B">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
          <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
     </select>
    <input type="submit" name="submit" value="Calculate" />
</form>

testform.php文件:(也修改了一下)

<?php
    $A = $_POST["A"];
    $B = $_POST["B"];

    $result = $A + $B;
    include 'index.php';
    print "<p>" . $result . "</p>";
?>