0

在大量挖掘了一些非常有用的帖子和信息以尝试找出如何解决这个问题之后,我想我会四处询问,看看是否有人有任何指示。我有一个带有各种输入(复选框、文本框等)的 html 表单。每个输入部分都有自己的提交或“上传”按钮。在上传时,会调用一个 php 脚本并完成各种处理,然后再通过管道将数据发送到 Python 脚本以获取更多信息。我目前正在将输入变量回显到提交时的表单中,以便 html 页面不会在 Upload 事件中刷新(或者我应该说输入的数据不会丢失到用户视图中),但是,我现在必须做同样的事情对于一堆复选框和文本框,其值存储在一个数组中。

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>

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

工作代码:

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

我敢肯定这很简单,但我一直在摆弄和盯着它看了很长时间,似乎找不到问题所在。

4

1 回答 1

0

你得到“数组”,因为你试图打印出数组类型的变量。

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

<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 检查以显示工作示例。)

于 2013-08-31T22:58:23.563 回答