使用PHP在表单发布后返回页面

时间:2014-08-20 13:13:58

标签: php

我正在使用发布到PHP脚本的表单。然后设置一个cookie并将用户返回到主页:

HTML表单:

<form action="update.php" method="post">
  <select name="choice">
    <option value="style1" selected>1</option>
      <option value="style2">2</option>
      <option value="style3">3</option>
    </select>
  <input type="submit" value="Go">
</form>

PHP:

<?php 
  $year = 31536000 + time();
  setcookie('style', $_POST['choice'], $year);
  header('Location: index.php');
  exit();
?>

我想更改此脚本的行为,以将用户重定向到提交的表单页面。

我已尝试在表单中添加以下内容:

<input type="hidden" name="goback" value="<?php echo($_SERVER['REQUEST_URI']); ?>">

但是,我不确定如何最好地更改我的PHP“位置”以利用此回应请求。

2 个答案:

答案 0 :(得分:1)

试试这个,

<form action="update.php" method="post">
 <select name="choice">
   <option value="style1" selected>1</option>
   <option value="style2">2</option>
   <option value="style3">3</option>
 </select>
 <input type="hidden" name="goback" value="<?php echo $_SERVER['REQUEST_URI']; ?>">
 <input type="submit" value="Go">
 </form>

PHP update.php

<?php 
    $year = 31536000 + time();
    setcookie('style', $_POST['choice'], $year);
    header('Location:'.$_POST['goback']);
    exit();
?>

答案 1 :(得分:0)

尝试更改此行

header('Location: index.php');

对于这个

header('Location: ' . $_SERVER['HTTP_REFERER']);

它应该将用户发送回他们来自的页面。