将每个值传递给php脚本

时间:2016-10-19 03:19:54

标签: php

我将每个循环中的表数据值传递给php脚本。这里的问题是当我尝试echo $exchange;时。我没有获得具体产品名称的任何值。表单中显示的产品名称为item1。

<form action="exchangeItem" method="post">    
 <tbody>
                    <?php
                      $query = "SELECT * FROM product";
                      $data = $MySQLi_CON->query($query);
                      foreach ($data as $key ) {              
                    ?>
                    <tr>                            
                      <td class="id"><h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>
                      </td>
                    <input name = "id" type = "hidden" value="<?php echo $id; ?>">
                    <td id="exchange_button">
                          <input value="Exchange" name="exchange_submit" type="submit" class="btn btn-primary btn-md raised exchange_submit">
                      </td>
                    </tr>
                    <?php
                      }
                      ?>                     
    </tbody>
</form>

exchangeItem.php

<?php
    $exchange = $_POST['productName'];
    echo $exchange;
    exit;
?>

5 个答案:

答案 0 :(得分:1)

<td class="id"><h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>

应该是:

<td class="id"><h3><input type="hidden" name="productName" value="<?php echo $key['product_Name'];?>" ></h3>

答案 1 :(得分:0)

为隐藏元素设置值...无需将隐藏元素放在标题标记中。使用productName[]发布值数组。

<td class="id">
    <h3><?php echo $key['product_Name'];?></h3>
    <input type="hidden" name="productName[]" value="<?php echo $key['product_Name'];?>">
</td>

预先发布所有已发布的值。

<?php
    $exchange = $_POST['productName'];
    foreach($exchange as $key) {
        echo $key;
    }
    exit;
?>

选择

的更新

更改你的html选择值..

<td class="id">
    <h3><input type="checkbox" name="productName[]" value="<?php echo $key['product_Name'];?>"><?php echo $key['product_Name'];?></h3>
</td>

答案 2 :(得分:0)

首先,修改 td

<td class="id"><h3><input type="hidden" name="productName[]" value="<?php echo $key['product_Name'];?>" ></h3>

你的名字=&gt; productName应该在数组中,这就是为什么你需要括号 [] ,因为你使用foreach。然后你的帖子也会在数组中。

<强> exchangeItem.php

<?php
    print_r($_POST['productName']);
    exit;
?>

答案 3 :(得分:0)

我添加了&amp;更改了您的2个输入名称productName[]id[]和表单操作exchangeItem.php如果获得产品名称,则必须使用输入名称和[]之类的数组,因为您使用了{{1}循环。

foreach

exchangeItem.php

<form action="exchangeItem.php" method="post">    
    <tbody>
    <?php
        $query = "SELECT * FROM product";
        $data = $MySQLi_CON->query($query);
        foreach ($data as $key ) {              
            ?>
            <tr>                            
                <td class="id">
                    <h3><input type="hidden" value="<?php echo $key['product_Name'];?>" name="productName[]" ><?php echo $key['product_Name'];?></h3>
                    <input name="id[]" type="hidden" value="<?php echo $id; ?>">
                </td>
            </tr>
            <?php
        }
    ?>                     
    </tbody>
    <tfoot>
          <tr>                            
             <td id="exchange_button">
                <input value="Exchange" name="exchange_submit" type="submit" class="btn btn-primary btn-md raised exchange_submit">
             </td>
         </tr>
    </tfoot>
</form>

答案 4 :(得分:0)

您面临的问题是此代码

    <td class="id">
        <h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>
    </td>

在输入字段中,您没有添加值,这就是为什么当您尝试在动作文件中打印已发布的值时,它没有显示任何值。所以只需在输入字段中添加附加值

    <td class="id">
        <h3><input type="hidden" name="productName" value="<?php echo $key['product_Name'];?>"></h3>
    </td>