【问题标题】:PHP. How to get $_POST value after table disappears from HTMLPHP。如何在表格从 HTML 中消失后获取 $_POST 值
【发布时间】:2022-11-19 01:08:37
【问题描述】:

我为标题感到抱歉。这是我用最少的语言解释情况的最佳机会。

我正在尝试制作一个带有选择和选项的 html 部分的 php 程序。我没有使用 ajax 或 mysql。只需为 apache 使用 JSON 文件和 xampp。

如果您选择其中一个选项,`

if(isset($_POST["choice"]))

此 php 代码将在 html 中运行,并显示一系列输入框,您可以在其中输入您想要的任何内容。每个选项在 JSON 文件中都有一个数组。 所以,我把它放在

$file[$_POST["choice"]]

` 并用键 => 值对其进行迭代。并将其推入输入框。输入框的值最初是我调用的 JSON 文件的值。我希望用户删除该文本并输入他们自己的文本。根据用户所做的选择,可能会有多个输入框。

输入框的名称将是 KEY。

然后,如果您点击输入类型提交的编辑按钮,则一系列输入框将消失。

我想获得回报 $_POST[KEY]

但是,无论我选择什么,$_POST[KEY] 都会返回选择选项 html 的第一个选项。

有什么办法可以解决这个问题吗?

我需要获取所选选项的相应数组。

我的目标是获取输入框的值并更新 JSON 文件。

<select name = "muscle">
    <option value = "chest">Chest</option>
    <option value = "back">Back</option>
    <option value = "leg">Leg</option>
</select>
<br>
<input type="submit" name="choice" value="choose">
<br><br>
<?php if(isset($_POST["choice"])) : ?>
<h3> Current Workout Program </h6>
<?php
foreach ($program[$_POST["muscle"]] as $key => $val):    
?>
<p><?= $key. ":" . $val;?></p>
<input type="text" name="<?=$key?>" value="<?=$val?>">
<?php endforeach;?>
<br><br>
<input type="submit" name="edit" value="edit">
<br>

</form>
<?php endif;?>

上面的 Key 值的迭代工作正常。

但是如果我做一个

if (isset($_POST["edit"])){

    print_r($program[$_POST["muscle"]]);
}

提交后,它只会给我“胸部”的数组。

【问题讨论】:

    标签: php html forms key-value


    【解决方案1】:

    据我了解您的代码,如果您提交上述表格,$_POST 将显示为以下框:

    //$_POST is like the following
    [
        "muscle" => "chest",
        "choice" => "choose"
    ]
    

    所以在结果页面中,if(isset($_POST["choice"]))条件检查将始终是true,并且进度会正确。

    我认为在目标页面(例如编辑页面)上,您必须添加一个隐藏的输入,如下所示,以确保您告诉系统您正在编辑哪块肌肉:

    <input type="hidden" name="muscle" value="<?= $_POST['muscle'] ?>">
    

    请注意,输入类型是hidden,它不会显示给使用表单的人。

    检查解决方案,如果响应有任何其他问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      相关资源
      最近更新 更多