【问题标题】:In php, Is it possible to create two input box with same name?在php中,是否可以创建两个具有相同名称的输入框?
【发布时间】:2014-03-21 12:34:05
【问题描述】:

在 php 中,我在表单标签中有一些输入框

是否可以创建两个同名的输入框? 提交表单时有什么问题吗?

【问题讨论】:

  • 就像所有答案的附录一样,“ID”字段不能有两个相同的字段,这会导致 HTML 表单出现问题。
  • 你的意思是“in PHP”还是“in HTML”.... 可以在 PHP 中创建 any 输出,无论是否有效与否

标签: php html codeigniter inputbox


【解决方案1】:

是否可以创建两个同名的输入框?

是的。元素 ID 必须是唯一的,但名称不是。

提交表单时有什么问题吗?

PHP 将丢弃除最后一个以外的所有内容,除非名称以 [] 结尾。

<input name="foo[]">
<input name="foo[]">

可通过

访问
$_POST['foo'] # an array

【讨论】:

    【解决方案2】:

    总是有可能使用类似数组的语法,例如

    <input type="text" name="my-field[]">
    <input type="text" name="my-field[]">
    

    在 php 中,您可以使用类似的方式访问它

    $_REQUEST['my-field'][0]
    

    【讨论】:

      【解决方案3】:

      您可以将数组括号 [] 添加到每个输入框。像这样;

      <form method="post" action="somepage.php">
      <input type="text" name="box[]">
      <input type="text" name="box[]">
      <input type="submit" name="submit" value="Submit">
      </form>
      

      然后在 somepage.php 上

      <?php
        if(isset($_POST['submit']))
        {
           echo $_POST['box'][0];
           echo $_POST['box'][1];
        }
      ?>
      

      [] 使两个框作为数组提交

      【讨论】:

        【解决方案4】:

        是的,您可以使用数组参数创建。

        <form>
            <input type="text" name="txtname[]">
            <input type="text" name="txtname[]">
        </form>
        

        您将使用$_REQUEST['txtname'] 获得价值,即array

        【讨论】:

        • 您好!我注意到您以“谢谢”结束所有答案,不幸的是,这里不鼓励这样做,以便为您的答案的实际内容留出位置。看看这个 Meta 帖子:meta.stackexchange.com/q/2950/174540 另外:在提交答案之前检查您的格式。您不小心将文本也放入了代码块中。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-19
        • 1970-01-01
        • 2012-04-14
        • 2013-09-22
        • 2011-06-27
        • 2014-10-16
        • 1970-01-01
        相关资源
        最近更新 更多