PHP header()使用POST变量重定向
我正在使用PHP,并且正在制作一个表单要发布到的操作页面。该页面检查错误,然后,如果一切正常,则将其重定向到已发布数据的页面。如果没有,我需要将它们重定向到错误和POST变量所在的页面。这是其工作原理的要点。
HTML看起来像这样…
<form name="example" action="action.php" method="POST"> <input type="text" name="one">
<input type="text" name="two">
<input type="text" name="three">
<input type="submit" value="Submit!">
</form>
action.php看起来像这样…
if(error_check($_POST['one']) == true){header('Location: form.php');
// Here is where I need the data to POST back to the form page.
} else {
// function to insert data into database
header('Location: posted.php');
}
如果发生错误,我需要将其重新发布回第一页。我不能使用GET,因为输入太大。如果可能,我不想使用SESSION。这可能吗?
回答:
如果您不想使用会话,则唯一可以做的就是将POST张贴到同一页面。无论哪种IMO是最好的解决方案。
// form.php<?php
if (!empty($_POST['submit'])) {
// validate
if ($allGood) {
// put data into database or whatever needs to be done
header('Location: nextpage.php');
exit;
}
}
?>
<form action="form.php">
<input name="foo" value="<?php if (!empty($_POST['foo'])) echo htmlentities($_POST['foo']); ?>">
...
</form>
可以使它变得更优雅,但是您会想到的…
以上是 PHP header()使用POST变量重定向 的全部内容, 来源链接: utcz.com/qa/417704.html