【问题标题】:Handling unknown number of values in PHP file处理 PHP 文件中未知数量的值
【发布时间】:2009-12-21 20:29:05
【问题描述】:

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

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

我应该如何处理?

【问题讨论】:

  • 为什么计数存储在javascript中?

标签: php javascript forms get


【解决方案1】:

无需提交计数。您可以将动态数量的值作为数组提交。您可以在 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'] 将是一个数组。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      (使用 jQuery)

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          我猜你使用 javascript 来创建额外的输入元素,如果你只是命名升序,你可以使用 count 来循环 $_POST 数据。或者使用隐藏元素表单来计算新的输入元素并将其发布,这样你就有了正确的数字,并且知道你应该计算多长时间。

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-11-27
              • 1970-01-01
              • 1970-01-01
              • 2021-09-30
              • 2012-02-22
              • 2021-07-27
              • 2020-05-12
              • 1970-01-01
              相关资源
              最近更新 更多