【发布时间】:2020-04-07 22:56:43
【问题描述】:
我有一个php代码如下图:
PHP代码:
<?php
$output['house_sitting_date_yes_no']=$_POST['house_sitting_date_yes_no'];
if(file_exists('../feeds/ptp-ess_landing_house.json')){
$data = json_decode(file_get_contents('../feeds/ptp-ess_landing_house.json'));
}
?>
<?php if($data) { ?>
<form>
<!-- Sitting Days START -->
<div class="sitting-days" style="display:flex; justify-content:center; margin-bottom:20px;">
<!-- Yes/No START -->
<div class="yes-no">
<h4 style="text-align:center;">Yes/No</h4>
<select name="house_sitting_date_yes_no" id="house-yes-no" style="height:24px;">
<option value="nada" <?php if($data->{"house_sitting_date_yes_no"}=="nada"){echo 'selected';}?>>Please choose an option</option>
<option value="yes" <?php if($data->{"house_sitting_date_yes_no"}=="yes"){echo 'selected';} ?>>Yes</option>
</select>
</div>
<!-- Yes/No END -->
</div>
<!-- Sitting Days END -->
</form>
<? } else {
echo 'Cannot read JSON settings file';
}
?>
上面的php代码对应下面的fiddle。在小提琴中,它在单击 Javascript 中的按钮时添加了一个新行。
我没有在上面的 php 代码中包含 JS 代码。
添加新行 按钮让我们可以根据需要添加任意数量的行。添加后我们可以在输入框中输入Yes,然后保存。
问题陈述:
我目前面临一个问题。当我添加新行时,表单会被保存,但新添加的行会被删除,只留下一行(日期和是/否)。
我想知道我应该在上面的 php 代码中进行哪些更改,以便当我们添加新行时,它应该有一些与之关联的值,这样当我们保存表单时,新添加的行应该保留
有他们可敬的价值观。
当有一行时(当我不添加新行时),所有内容都从 JSON 中提取,并且工作正常。
【问题讨论】:
-
在两个选择中更改名称,该名称已显示在函数 house_sitting_date_yes_no[] 中,它将作为数组发送到 $_POST。
-
@miguelcalderons 我想知道你能否给我一个答案。对此的任何帮助将不胜感激。
-
警告,您将面临此代码的潜在安全问题。将任意数据插入 HTML 上下文时始终使用
htmlspecialchars()。
标签: javascript php arrays json select