【问题标题】:$_POST only contains the last input textbox value$_POST 仅包含最后输入的文本框值
【发布时间】:2014-12-08 22:39:27
【问题描述】:

考虑简单的形式:

<form method="POST" action="test.php" enctype="multipart/form-data">                
   <div id="caseInfo">
       <p> Enter some text</p>
       <input type=text name="sEvent" /> 

       <p> Enter some more text</p>
       <input type=text name="sEvent" /> 
    </div>

    <input type="submit" value="Send">
 </form>

在我的 php 文件中,我只需阅读 var_dump($_POST); 并获得以下输出:

array(1) { ["sEvent"]=> string(3) "Hey" }

“嘿”是我在最后一个文本框中写的,当它们具有相同名称时,如何检索两者的值?

【问题讨论】:

  • 您的输入字段都具有相同的名称,因此您只会看到最后一个。要么更改名称,要么使用sEvent[] 作为名称,PHP 将在$_POST['sEvent'] 中创建一个数组而不是单个值

标签: php html forms post


【解决方案1】:

要在post数据中使用数组,名称必须以[]结尾,如

<input type=text name="sEvent[]" />

【讨论】:

  • “sEvent”的两次出现都是这种情况,所以两者都需要附加 [] 吗?
【解决方案2】:

你必须给每个输入元素一个唯一的名字

   <p> Enter some text</p>
   <input type=text name="sEvent1" /> 

   <p> Enter some more text</p>
   <input type=text name="sEvent2" /> 

或者像大卫提到的那样将其定义为数组

   <p> Enter some text</p>
   <input type=text name="sEvent[]" /> 

   <p> Enter some more text</p>
   <input type=text name="sEvent[]" /> 

【讨论】:

    猜你喜欢
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多