当前位置: 首页 > 面试题库 >

如何从PHP访问表单的“名称”变量

蔚学真
2023-03-14
问题内容

我正在尝试创建一个BMI计算器。这应该允许人们使用公制或英制。

我意识到我可以使用隐藏标签来解决问题,但是以前这使我很头疼,所以我想问一下:我可以$_POST['variableName']用来查找提交的variableName字段值;但是…我不知道,也不知道如何验证
用于 提交变量的表单。

我的代码如下(尽管我不确定它是否与问题严格相关):

<?php
    $bmiSubmitted     = $_POST['bmiSubmitted'];

    if (isset($bmiSubmitted)) {
        $height        = $_POST['height'];
        $weight        = $_POST['weight'];
        $bmi        = floor($weight/($height*$height));

        ?>
            <ul id="bmi">
            <li>Weight (in kilograms) is: <span><?php echo "$weight"; ?></span></li>

            <li>Height (in metres) is: <span><?php echo "$height"; ?></span></li>

            <li>Body mass index (BMI) is: <span><?php echo "$bmi"; ?></span></li>

            </ul>
        <?php
    }

    else {
    ?>

    <div id="formSelector">

    <ul>
        <li><a href="#metric">Metric</a></li>
        <li><a href="#imperial">Imperial</a></li>
    </ul>

        <form name="met" id="metric" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="form/multipart">

            <fieldset>
                <label for="weight">Weight (<abbr title="Kilograms">kg</abbr>):</label>
                    <input type="text" name="weight" id="weight" />

                <label for="height">Height (<abbr title="metres">m</abbr>):</label>
                    <input type="text" name="height" id="height" />

                <input type="hidden" name="bmiSubmitted" id="bmiSubmitted" value="1" />
            </fieldset>

            <fieldset>
                <input type="reset" id="reset" value="Clear" />

                <input type="submit" id="submit" value="Submit" />
            </fieldset>
        </form>

        <form name="imp" id="imperial" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="form/multipart">

            <fieldset>

            <label for="weight">Weight (<abbr title="Pounds">lbs</abbr>):</label>
                <input type="text" name="weight" id="weight" />

            <label for="height">Height (Inches):</label>
                <input type="text" name="height" id="height" /
            <input type="hidden" name="bmiSubmitted" id="bmiSubmitted" value="1" />
            </fieldset>

            <fieldset>
                <input type="reset" id="reset" value="Clear" />
                <input type="submit" id="submit" value="Submit" />
            </fieldset>
        </form>

    <?php
    }
?>

我通过metric验证了它的有效性(尽管目前尚无验证-我不想让我的问题太多)。我已经添加了表格,但是还没有为帝国处理。


问题答案:

要标识提交的表单,可以使用:

  • 隐藏的输入字段。
  • 提交按钮的名称或值。

表单的名称不会作为POST数据的一部分发送到服务器。

您可以按照以下方式使用代码

<form name="myform" method="post" action="" enctype="multipart/form-data">
    <input type="hidden" name="frmname" value=""/>
</form>


 类似资料:
  • 问题内容: 我需要使用 PHP* 访问 JavaScript 变量。这是我当前正在尝试的代码的简化版本,无法正常工作: * 我对JavaScript和PHP都是全新的,因此,我非常感谢任何建议。 更新 :好的,我想我简化了太多。我正在尝试创建一个表单,该表单在提交时将更新Twitter状态。我的表格工作正常,但我还想添加地理位置数据。由于我使用Javascript(特别是Google Geoloc

  • 问题内容: 我有一种情况,从中获取表名应该是从一个设置变量: 但是这样做会导致MySQL输出错误,所以有人可以向我展示如何实现这一点,因为这是我在MySQL中的基本步骤。 问题答案: 您必须使用准备好的语句来执行此操作。就像是:

  • 我想访问嵌入形式的过程变量,但我无法这样做。我在https://docs.camunda.org/manual/7.8/reference/embedded-forms/javascript/examples/浏览了留档以及https://github.com/camunda/camunda-bpm-examples/tree/master/usertask/task-form-embedded-

  • 问题内容: 如您所见,该回调函数从控制器获取数据。 例如: 在这种情况下,我的第一个警报给了我未定义的内容,第二个/第三个警报弹出窗口显示为: 如何按名称访问值,以便我的第一个警报填写的值是? 问题答案: 代替解析JSON,您可以执行以下操作: 要访问JSON的属性,请执行以下操作: 为什么需要数据,因为数据是一个数组,所以需要对其内容进行检索(第一个元素),它为您提供了一个object 。 并访

  • 问题内容: JSON编码的Google API返回了这样的对象 谁知道我该如何获取价值? 显然返回 注意:未定义的变量:在/ usr / local / … 致命错误:无法访问/ ....中的空属性 问题答案: 由于属性的名称是string ,因此可以这样访问它: 另外,您可以将属性的名称放在变量中,然后像这样使用它: 您可以在repl.it上看到它们的实际作用:https ://repl.it/

  • 我有一个关于ES6导入模块的问题。 我试图在我的Three.js代码中添加OrbitControl。由于OrbitControls是一个单独的模块,我需要在我的代码中分别导入它们,如下所示。它工作得很好。 然而 我首先想到的是 原因是, 据我所知,如果模块将某些内容导出为导出默认值, 我可以通过在“导入”代码中添加花括号来访问它们。 但是,它没有起作用,因此我假设“三个orbitcontrols”