在提交时回显$ array []元素到html表单

时间:2013-08-31 17:26:46

标签: php html forms refresh echo

经过深入挖掘一些信息丰富的帖子和信息,试图找出如何解决这个问题,我想我会问周围,看看是否有人有任何指针。 我有一个带有各种输入的html表单(复选框,文本框等...)。每个输入部分都有自己的提交或“上传”按钮。在上传时,调用php脚本并在通过管道将数据发送到Python脚本之前完成各种处理,以获得更多内容。 我正在回传输入变量到提交时的表单,以便在上传事件中html页面不刷新(或者我应该说输入的数据不会丢失到用户视图中),但是,我现在必须这样做对于一堆复选框和文本框,其值存储在数组中。我到目前为止编写的代码如下(我是php和html的新手,所以请原谅我确定很明显的低效率)

的HTML / PHP

<margin>CH1</margin><input type="checkbox"name="ANout[]"value="AN1_OUT"
<?php if(in_array('AN1_OUT',$_POST['ANout']))echo'checked';?>>
Voltage<input type="text"size="5"name="ANout[]"
value="<?php $ANout[$i]=$_POST['ANout'];
if(!empty($ANout[$i]))echo"$ANout[$i]";?>">
<br>

上面的代码适用于按下上传按钮后幸福保留但不适用于数组的复选框。当上传事件发生时,我只需在文本框中写入“数组”。我已经尝试了我编写的现有代码来回显表单中的其他文本输入(见下文)并且它可以工作,但这些是单独的条目,而不是数组。我已经尝试了各种语法配置,但我似乎总是得到相同的结果。

工作代码:

<margin>Duty Cyle</margin><input type="text"name="PWM1DC"size="3"
value="<?php $PWM1DC = $_POST['PWM1DC']; 
if(!empty($PWM1DC))echo "PWM1DC";?>">
<br>

我确信这是直截了当的,但我一直在摆弄并盯着它多年,似乎无法找到问题。

1 个答案:

答案 0 :(得分:0)

您正在获取&#34; Array&#34;,因为您正在尝试打印出Array类型的变量。

您可能希望为字段指定单独的名称或索引,并执行以下操作:

<form method="post">

   <input type="checkbox" name="ANout[1]" value="AN1_OUT"
         <?php if(isset($_POST['ANout']) && in_array('AN1_OUT',$_POST['ANout']))echo'checked';?>>

   Voltage<input type="text"size="5"name="ANout[2]"
         value="<?php if(isset($_POST['ANout']) && !empty($_POST['ANout'][2])) echo $_POST['ANout'][2]; ?>">

   <input type="submit" value="ok">

</form>

(只需添加表单标签,提交按钮和isset检查以显示工作示例。)