【问题标题】:Having difficulty with form data表单数据有困难
【发布时间】:2013-07-30 16:31:40
【问题描述】:

我有 3 个文本字段,只有一个提交按钮可以一次发送文本字段的所有数据。但是如何在 php 中一次发送所有三个文本字段的数据?

     <form>
     for($x=0;$x<3;$x++){
     <input type="text" name="name">
     }
     <input type="submit" name="submit">
     </form>

现在我在 for 循环中有三个字段,我必须使用单个提交按钮从所有字段中提取数据。那么我该怎么做呢?

【问题讨论】:

  • 查看this tutorial 了解有关使用 PHP 处理表单的一些基本信息
  • 你能用代码示例更详细地解释一下吗?这太短了,无法回答。
  • 我在一个循环中生成了三个字段,现在我想用一个提交按钮提取所有三个字段的数据。我该怎么做?

标签: php forms submit


【解决方案1】:

例如,在输入中使用“名称”属性可以让您执行此操作

<form action='submit.php' method='post'>
    <input type='text' name='one'></input>
    <input type='text' name='two'></input>
    <input type='text' name='three'></input>
    <input type='submit' name='submit' value='Submit!' />
</form>

在你的 PHP 中你会做这样的事情

<?php
    if(isset($_POST['submit'])){
        $inputOne = $_POST['one'];
        $inputTwo = $_POST['two'];
        $inputThree = $_POST['three'];

        //Do whatever you want with them
    }
?>

有更好的方法,但这可能是最容易理解的


如果您希望所有输入具有相同的名称,请执行此操作
<input type='text' name='textinput[]'></input>

改为使用它并像这样遍历所有输入

<?php
    foreach($_POST['textinput'] as $input){
        //do something with $input
    }
?>

【讨论】:

  • 看我有一个 for 循环,其中输入标签生成了 3 次,现在我想使用单个提交按钮从所有三个中提取数据。
【解决方案2】:

您将它们全部放在同一个&lt;form&gt; 中,并确保它们具有不同的name 属性值(或者这些值以[] 结尾)。

【讨论】:

  • 看我有一个for循环,我已经生成了三次输入字段,现在我必须使用一个提交按钮从所有三个字段中提取数据。我该怎么做?
【解决方案3】:

我相信您正在寻找的是这个请注意名称字段后面的 []

<form>
   for($x=0;$x<3;$x++) {
      <input type="text" name="name[]" />
   }
   <input type="submit" name="submit" />
</form>

然后检索值

$names = $_POST['name'];
foreach( $names as $name ) {
   print $name;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 2013-08-19
    相关资源
    最近更新 更多