处理PHP文件中未知数量的值

时间:2009-12-21 20:29:05

标签: php javascript forms get

将提交数据的表单将有10到100个值发送到PHP文件。输入的数量存储在我的javascript函数中名为count的变量中,但我不知道如何将其值传递给我的PHP文件。

我的另一个想法是让一个while循环检测到一个空值,并在while循环中有一个计数器来保持计数。

我该如何处理?

6 个答案:

答案 0 :(得分:3)

无需提交计数。您只需将动态数量的值作为数组提交即可。您可以在name属性中使用PHP数组表示法:

Input 1: <input type="text" name="myvar[]" />
Input 2: <input type="text" name="myvar[]" />
...
Input n: <input type="text" name="myvar[]" />

在PHP方面,$_REQUEST['myvar']将是一个数组。

答案 1 :(得分:1)

我认为可能有更“正确”的方法来做到这一点,但我会做的事情(不知道更好的方法)有一个隐藏的表单元素,如

<input id="hidden_count" type="hidden" name="count" value="" />

然后有一个名为onsubmit的函数设置此值并返回true以告诉表单继续

(使用jQuery)

function onSubmitFunc(){
  $('#hidden_count').val(count);
  return true;
}

我确信这是一个更优雅的解决方案,但这应该可以满足您的需求。

答案 2 :(得分:1)

在不了解更多有关您的实现的情况下,我建议使用后两种方法:使用PHP循环遍历$ _POST数组并计算您拥有的有效值。这是最好的选择,因为它更安全可靠。

答案 3 :(得分:0)

如果您可以访问Javascript,最简单的方法是在客户端将数据转换为JSON,将其作为单个字符串变量发送到服务器,并使用json_decode服务器返回正确格式化的值。您可以对表单上的提交事件做出反应,让Javascript在发送数据之前计算JSON。

否则,您可以让Javascript输出表单中特定隐藏变量的字段数。然后,服务器可以读取该值,并在其输入中按键查找数据。

答案 4 :(得分:0)

我猜你使用javascript来创建额外的输入元素,如果只是命名升序,你可以使用count来遍历$ _POST数据。或者使用隐藏的元素形式来计算新的输入元素并发布它,这样你就可以得到正确的数字,并知道你应该计算多长时间。

答案 5 :(得分:0)

也许我没有得到这个,但是如果你的JS文件中的count对应于发送到你的PHP文件的input中的form元素的数量,为什么不{ {1}}他们在服务器端。数据将位于count()数组中。