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

回到顶部