表单值未提交

时间:2015-05-12 06:57:49

标签: php html forms

我有以下PHP代码

<?php
if(isset($_POST['submit']))
{
    echo "submitted";
}
else
{
    echo "not submitted";
}


?>

在浏览器中提供以下输出。enter image description here

现在我有两个问题。

1)当我尝试在其中一个文本框中插入一些值并单击底部的提交按钮时,这些值不会被提交。

下面是我的admin.php php文件。

{{1}}

2)现在第二个问题是,我还希望通过表单提交我的电子邮件ID,但这只是一个普通文本,有人能告诉我我们该怎么做?

2 个答案:

答案 0 :(得分:2)

有些事情可能会发生变化:

  1. 当它们介于单引号
  2. 之间时,您不需要转义双引号
  3. 使用name="name['.$row["UserID"].']"
  4. <button...更改为<input type="submit"...
  5. 您的页面将如下所示:

    <form action="admin.php" method="post">
        <?php
        $conn=mysqli_connect("localhost","root","vravi","mrconnect");
        if(!$conn) { echo "error establishing the connection"; }
    
        $sql="select UserID,UserEmail from Users order by UserID";
        $result=mysqli_query($conn,$sql);
    
        if(mysqli_num_rows($result)>0) {
            while($row=mysqli_fetch_assoc($result)) {
                echo $row["UserID"] . ' ' . $row["UserEmail"] ." ";
                echo '<input type="text" name="name['.$row["UserID"].']" />'."<br />";
            }
            echo '<button type="submit" name="submit" value="submit">Submit</button></br>';
        }
        ?>
    </form>
    

    然后,当表单提交给admin.php时,您可以循环name

    <?php
    if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
        foreach( $_POST['name'] as $data => $value ) {
            echo $data . ': ' . $value . '<br />';
            // will output    2:  12
        }
    }
    ?>
    

    在我的示例中,它将回显用户ID和提交的值。您当然也可以将其保存到数据库中。

答案 1 :(得分:0)

print_r();添加到您的脚本顶部,以确切了解您的网页上发布的内容。

更正您的input语法 - 它不完整:

echo  $row["UserEmail"]." ".'<input type=\"text\"

应该是这样的:

echo  $row["UserEmail"]." ".'<input type=\"text\" name=\"userEmail".$row["UserID"]."\" />

甚至更好:

echo  '<label>'.$row["UserEmail"].'</label><input type="text" name="userEmail['.$row["UserID"].']" />';