【问题标题】:Simple redirect to previous page doesn't work php简单的重定向到上一页不起作用php
【发布时间】:2016-05-06 23:38:46
【问题描述】:

我有页面drops.php 和此页面上的按钮addDrops.php?group_id=6。现在,当我转到addDrops.php 并添加新值以将我重定向回addDrops.php?group_id=6 时,我正在尝试。我是这样弄的

if ( !empty($_POST) && isset($_POST['add'] )) 
{           
    $field_name = $_POST['field_name'];

    $sql = "INSERT INTO form_fields ( field_name, group_id ) VALUE ( ?, ? )";
    $q = $pdo->prepare($sql);
    $q->execute(array($field_name, $group_id));

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

}
<form class="form-horizontal" role="form" action="" method="post">
    <div class="form-group">
        <label class="control-label col-sm-2" for="field_name">Name:</label>
           <div class="col-sm-10">
               <input type="username" class="form-control" name="field_name" id="field_name">

            </div>
    </div>                  
    <div class="form-group"> 
            <div class="col-sm-offset-2 col-sm-4">
                <input type="submit" name="add" value="Add Dropdown option" class="btn btn-primary btn-block">
            </div>
    </div>
</form>

只有一个字段的简单表单,我添加了这个用于重定向,但表单提交后它不会重定向

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

【问题讨论】:

  • 当您询问有关错误的问题时,总是发布错误日志。要向您的 php 代码启用错误报告,请在脚本顶部附加 error_reporting(E_ALL); ini_set('display_errors', '1');,另外,临时删除标题并执行 var_dump($_SERVER['HTTP_REFERER']) 它返回什么?
  • } &lt;form 在您的实际页面中,还是那些单独的页面?
  • @JDR 我很确定默认操作是 PHP_SELF,所以这将是多余的。
  • @PedroLobito 没有错误。该脚本运行良好,并将所有内容添加到数据库中。只是不重定向。 chris85 他们在同一页上。这是刚刚剪掉的。
  • 而 var_dump($_SERVER['HTTP_REFERER']) 返回当前 url addDrops.php?group_id=14 - 它应该返回 drops.php?group_id=14 因为这是以前的 url

标签: php


【解决方案1】:

根据您在 cmets 中发布的内容,您不需要使用引用者,您必须硬编码 URL drops.php 并附加组 ID。

referer 是您发帖的来源页面,在这种情况下,它不是您要返回的页面。

header('Location: drops.php?group_id=' . $group_id);

【讨论】:

  • 啊,我没有这样想,当然这是完美的工作。非常感谢!
猜你喜欢
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多