isset函数不与表单提交和数据库插入语句一起使用

时间:2013-09-07 08:52:18

标签: php mysql forms

我有2页,每页都有一个表格。第一个表单接受用户输入并在第二页上隐藏它(隐藏的表单元素)。在第二个表单上,用户单击“提交”按钮,然后将该数据插入到mysql中。

问题,第二页将数据插入mysql,一旦我通过表单POST方法到达该页面,我在数据库中得到空字段,而表单提交按钮的isset函数不起作用。

第一页(表格):

<html>
    <body>    
        <form action="review.php" method="post">
            Name: <input type="text" name="name"><br>
            Age: <input type="text" name="age"><br>
            <input type="button" name="submit" value="submit">
        </form>    
    </body>
</html>

我使用以下代码进入第二页,以便进行审核review.php

<?php
if (isset($_POST['submit'])) {
    // Mysql insert statment
    echo "Form has been submitted";
}    
?>

<html>
    <body>    
        <form action="review.php" method="post">
            Name: <input type="hidden" name="name"><p><?php echo $_POST['name']; ?></p><br>
            Age: <input type="hidden" name="age"><p><?php echo $_POST['age']; ?></p><br>
           <input type="submit" name="submit">
        </form>    
    </body>
</html>

一旦我点击第一个表单中的审阅按钮,它就会将其插入到mysql中,因此review.php上的isset函数无效。

5 个答案:

答案 0 :(得分:1)

因为你在第一个文件上错过了这一行

<input type="submit" name="submit" value="Review">

答案 1 :(得分:1)

if (isset($_POST['submit'])) { //but there isn't any Html attribute with the name submit

应该是这样的:

<input type="submit" name="submit"/>

现在你不会得到空值

答案 2 :(得分:0)

将以下代码放入首页

<input type="submit" value="submit" name="submit" />

答案 3 :(得分:0)

在第一页

使用:

<input type="submit" name='submit' value='Submit'>

而不是

<input type="review">

答案 4 :(得分:0)

细**细

      -


**必须用空行将它们与周围文本分开。 最外面的块元素的开始和结束标记不得缩进。 Markdown不能在HTML块中使用。