【问题标题】:Post text box array in PHP在 PHP 中发布文本框数组
【发布时间】:2012-04-23 11:18:09
【问题描述】:

我有要发布的文本框值。如何将它放入 PHP 数组中。

编辑

---------------------------
    <input type="text" name="ItemName[1][2]" >
        <input type="text" name="ItemName[1][3]" >
        <input type="text" name="ItemName[1][4]" >
------------------------------
$ItemNamesArray = $_POST[] ..... ????? What do I do in this step???

请帮忙。

【问题讨论】:

  • 用json发帖,用json_encode取数据
  • 为什么是 json?这有什么意义吗?
  • 我直接粘贴了隐藏的html,现在我已经更正了帖子...请帮助现在

标签: php arrays post


【解决方案1】:
<input type="text" name="array[]" />
<input type="text" name="array[]" />
<input type="text" name="array[]" />
<input type="text" name="array[]" />


print_r( $_POST['array'] );

【讨论】:

  • 还应该写他可以通过 $_POST['array'][0], $_POST['array'][1], ... 使用 [] 的技巧来访问它PHP 中的数组。
  • 先生,我直接粘贴了隐藏的html,现在我已经纠正了帖子...请帮助现在
【解决方案2】:
<input type="text" name="ItemName[1][2]" >
<input type="text" name="ItemName[1][3]" >
<input type="text" name="ItemName[1][4]" >

$ItemNamesArray = $_POST['ItemName'][1];

foreach($ItemNamesArray as $item){
  var_dump($item); //this will show you the value of each item

 // do whatever you want to do (insert into a database, send an email, etc)
}

但我不会为此使用二维数组,除非 ItemName 在同一表单上用于其他目的。

【讨论】:

    【解决方案3】:
    <form method="post" name="myform">
    <input type="text" name="array[]" Value="101"/>
    <input type="text" name="array[]" Value="102"/>
    <input type="text" name="array[]" Value="103"/>
    <input type="text" name="array[]" Value="104"/>
    <input type="submit" name="submit" Value="submit"/>
    </form>
    
    
    
    if(isset($_POST['submit'])){
    
    foreach($_POST['array'] as $myarray) {
    
        echo $myarray.'<br>';
    
    }
    

    输出

    101
    102
    103
    104
    

    【讨论】:

      【解决方案4】:

      您的 POST 输入在 $_POST 数组中。显示它 - var_dump($_POST)。访问其项目 - 例如名为“文本框” - var_dump($_POST['textbox'];

      【讨论】:

      • 先生,我直接粘贴了隐藏的html,现在我已经纠正了帖子...请帮助现在
      • 格式不太好。您可以更改您的inputs 的名称还是不可能?
      【解决方案5】:

      试试这个

      $_REQUEST['ItemName[1][2]'];
      $_REQUEST['ItemName[1][3]'];
      $_REQUEST['ItemName[1][4]'];
      

      【讨论】:

        【解决方案6】:

        试试:

        <input type="text" name="ItemName[]" >
        <input type="text" name="ItemName[]" >
        <input type="text" name="ItemName[]" >
        

        并使用插入 SQL 输入数据库:

        // EXECUTE SQL INDEXED TEXTBOX
        foreach ($_POST['itemName'] as $item)
        {
        
        $query  = "INSERT INTO  tableName (field1)";
        $query .= " VALUES ('" .  $item . "')";
        
        }
        

        【讨论】:

        • OP 不谈数据库
        【解决方案7】:

        这是我所做的,以向您展示提交时会发生什么:

        我完成了您的脚本以显示$_POST var(您点击提交的内容),如下所示:

        <form method="POST">
          <input type="text" name="ItemName[1][2]" value="a">
          <input type="text" name="ItemName[1][3]" value="b">
          <input type="text" name="ItemName[1][4]" value="c">
          <input type="submit">
        </form>
        
        <?php
        if($_POST) {
                echo "<pre>";
                print_r($_POST);
                echo "</pre>";
        }
        ?>
        

        这是我点击提交时的输出:

        Array
        (
            [ItemName] => Array
                (
                    [1] => Array
                        (
                            [2] => a
                            [3] => b
                            [4] => c
                        )
                )
        )
        

        它表明你在$_POST["ItemName"][1] 中有你的值数组,所以你可以这样做:

        $myArrayOfValues = $_POST["ItemName"][1];
        

        希望对你有帮助。

        【讨论】:

          【解决方案8】:

          $_POST 或 $_GET 是一个数组,用户可以与 Web 表单交互的方式。 在这种情况下,我有一个示例表单:

          <form method="POST" action="array.php">
          
           <input name="a" type="text" value="1" />
           <input name="b" type="text" value="2" />
           <input type="submit" value="Sum" />
          

          action form array.php:

          <?php   
              $a = $_POST['a'];
              $b = $_POST['b'];
              echo $a + $b;
          ?>
          

          $_POST['a'],$_POST['b'] 是文本框的变量值,你可以在PHP代码中使用来评估。

          【讨论】:

          • 这将输出'3',并且不给出数组
          【解决方案9】:

          试试这个

          表格:

          <input type="text" name="ItemName[]" value="">
          

          PHP 脚本:

          $ItemName = POST['ItemName'];
          
          for ($i=0; $i<sizeof($ItemName); $i++){
          
             $sq = mysql_query("SELECT * FROM `table` WHERE `ItemName`='$ItemName[$i]'");
          
          }
          

          【讨论】:

          • OP 不谈数据库
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-12
          • 1970-01-01
          • 2015-06-12
          • 2010-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多