POST数据未发送

时间:2012-03-03 16:38:11

标签: php html

我对这个代码块有一些奇怪的问题,这是一个小学校项目,到目前为止进展顺利,但底部的表格没有返回任何后期数据。 var_dump($ _ POST);从不显示从此特定表单提交的任何帖子数据。

我无法理解为什么,长期以来一直苦苦挣扎。

这是代码,我无法理解在这个页面上格式化它,为每一行添加4个缩进似乎有点单调乏味。

<?php session_start();
require_once'user.class.php';
require_once 'posts.class.php';
require_once'comments.class.php';
$posts = new Posts($user->getID(), $db);
$comment = new Comments($user->getID(), $db);

include_once'includes/header.php';
include_once'includes/nav.php';
?>

<h2><br></h2>
<?php
include_once'includes/intro.php';

// CONTENT
$post = $posts->showPost($_GET['id']);
$title = $post['title'];
$content = $post['content'];
$created = $post['timestamp'];

echo  "<section> <article class='blogPost'> <header> " . " <h2>$title</h2> " . "<p> Posted on $created <a href ='#comments'> X comments</a></p></header>" . "<p>$content</p>" . "</article> </section>";

var_dump($_POST);

if (isset($_POST['submit_comment']) && isset($_POST['id_comment']))  {
  echo "Kom seg inn i ifen";
  $pid = $_GET['id'];
  $comment->newComment ($db, $user->getID(), $pid, $_POST['id_comment']);
  header ("location: showPost.php?id=$pid");
  exit ();
}
?>

<form name='commentform' action='showPost.php?id=<?php echo $_GET['id'];?>' method='POST'>
<h3>Post a comment</h3>
<p>
<label for='id_comment'>Comment</label>
<textarea name='id_comment' id='id_comment' required></textarea>
</p>
<p><input style='width: 100%;' type='submit' name='submit_comment' value='Legg til kommentar' /></p>
</form>

<?php
include_once'includes/asidefooter.php';
?>

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

如果post存在数据,则会重定向用户。您只会在提交表单时看到发布数据,重定向将导致另一个页面加载,数据将不再存在。

如果您注释掉重定向,可以看到帖子数据:

//header ("location: showPost.php?id=$pid");
//exit ();

答案 1 :(得分:0)

导致重定向的东西正在将请求转换为GET。如果您尝试提交到index.php,请不要忘记结束斜杠。