我正在使用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>
可以使它变得更优雅,但是您会想到的…