如何从表单提交值

时间:2016-07-14 06:37:02

标签: php mysql sql mysqli

我有一个动态创建的表单

<form action="addtable.php" method="post" enctype="multipart/form-data" >
    <?php
    $sql="SELECT * FROM `tracker_item` ";
    $result = mysqli_query($con, $sql);
    if(mysqli_num_rows($result)>0)
        {
            while($row = mysqli_fetch_assoc($result))
                { ?>
                    <input type="text"  placeholder="<? echo $row['heading']?>" name="<? echo $row['heading']?>" />

                <?}?>
              <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button>
</form>

但我无法理解如何将输入值传递给addtable.php页面

任何人都可以告诉我们如何从此表单中提交这些值

7 个答案:

答案 0 :(得分:0)

在你的addtable.php中:

<?php 

$inputValue = $_POST['input_name'];

//the $inputValue is the input value that you posted from form.
echo $inputValue;


?>

答案 1 :(得分:0)

在你的addtable.php中,你需要print_r $ _POST并查看你得到的输入。

// addtable.php

echo "<pre>";
print_r($_POST);
print_r($_FILES);  // If you're expecting a file input

此外,您应该稍微修改一下HTML:

<form action="addtable.php" method="post" enctype="multipart/form-data" >
<?php
$sql="SELECT * FROM `tracker_item` ";
$result = mysqli_query($con, $sql);
if(mysqli_num_rows($result)>0) {
        while($row = mysqli_fetch_assoc($result)) { ?>
          <input type="text"  placeholder="<? echo $row['heading']?>" name="<? echo $row['heading']?>" />
        <? }  ?>
    <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button>      <!--Place submit button outside loop -->
<?php } ?> 

答案 2 :(得分:0)

试试这个, addtable.php

 <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:background="#0072BA"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer"
        app:itemIconTint="@android:color/white"
        app:itemTextColor="@android:color/white"/>

我希望它会有所帮助。

答案 3 :(得分:0)

PHP无法正常运行的原因之一是因为您的PHP块未放置在PHP标记内。

您的代码

<form action="addtable.php" method="post" enctype="multipart/form-data" >
<?php // added the PHP tags
    $sql="SELECT * FROM `tracker_item` ";
    $result = mysqli_query($con, $sql);
    if(mysqli_num_rows($result) > 0){
        while($row = mysqli_fetch_assoc($result)){
?> // escaped the php tag 
            <input type="text"  placeholder="<?= $row['heading']; ?>" name="<?= $row['heading']; ?>" />
            <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button>
<?php
        }
    }
?>

注意当我想显示任何HTML时,我也是如何转义PHP的。当然,你可以简单地回应这些,但你也可以做到这一点!个人喜好,真的。

我做的另一个小改动是,你可以简单地使用<?php echo ... ?>而不是<?= $row['...']; ?>。它也更快更干净!

答案 4 :(得分:0)

您可以创建标题数组并在php中访问它:

<form action="addtable.php" method="post" enctype="multipart/form-data" >
    <?php
       $sql="SELECT * FROM `tracker_item` ";
       $result = mysqli_query($con, $sql);
       if(mysqli_num_rows($result)>0)
       {
          while($row = mysqli_fetch_assoc($result))
          {
    ?>
            <input type="text"  placeholder="<?php echo $row['heading']; ?>" name="heading[]"> />
    <?
          }
    ?>
            <button type="submit" name="add" alt="Add" value="Add" class="btn blue">Add</button>
    <?php
       }
    ?>
</form>

在addtable.php中:

$headingArray = $_POST['heading']; // here you will get all the heading in array format

答案 5 :(得分:0)

我认为提交按钮有问题,你循环提交同名的按钮,尝试把提交按钮放出while循环。

答案 6 :(得分:0)

要在addtable.php中接收数据,您必须通过表单中输入的name属性获取它们。因此,您必须定义输入的名称或从addtable.php中的db再次检索它们