【发布时间】: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"]]);
}
提交后,它只会给我“胸部”的数组。
【问题讨论】: