我為標題感到抱歉。這是我用最少的語言解釋情況的最佳機會。
我正在嘗試制作一個帶有選擇和選項的 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"]]);
}
提交后,它只會給我“胸部”的陣列。
uj5u.com熱心網友回復:
據我了解您的代碼,如果您提交上述表格,$_POST將如下所示:
//$_POST is like the following
[
"muscle" => "chest",
"choice" => "choose"
]
所以在結果頁面中,if(isset($_POST["choice"]))條件檢查會一直true,并且進度會正確。
我認為在目標頁面(例如編輯頁面)上,您必須添加一個隱藏的輸入,如下所示,以確保您告訴系統您正在編輯哪塊肌肉:
<input type="hidden" name="muscle" value="<?= $_POST['muscle'] ?>">
請注意,輸入型別是hidden并且不會向使用表單的人員顯示。
檢查解決方案,如果回應有任何其他問題,請告訴我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/537043.html
上一篇:基本的HTML登錄表單
