PHP:单击“提交”按钮后重定向同一页面

时间:2013-06-15 16:31:12

标签: php redirect refresh reload

有没有办法使用PHP重定向到同一页面。???我只需要重新加载或刷新gridview。我不需要重定向到网站或链接,我需要将其重定向到相同的页面或相同的形式,如main.php。

我已经使用了header(),但它对我不起作用,我看到的只是链接在网站上。

感谢。

3 个答案:

答案 0 :(得分:6)

简单地说:

$referer = $_SERVER['HTTP_REFERER'];
header("Location: $referer");

答案 1 :(得分:2)

您应该在每个帖子后使用位置标题重定向,否则当用户按下刷新按钮时,它将再次发送相同的表单...

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    file_put_contents('data.txt', $_POST['data']);
    header('location: ' . $_SERVER['PHP_SELF']);
} else {
    header('content-type: text/html; charset=utf-8');
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
          enctype="application/x-www-form-urlencoded; charset=utf-8">
        <input name="data" type="text" value="<?php echo file_get_contents('data.txt'); ?>"/>
        <button>küldés</button>
    </form>
<?php
}

顺便说一下。如果你想做正确的工作,你应该尝试一个PHP框架,而不是这种意大利面条代码...

答案 2 :(得分:0)

以下是重定向到表单的两个示例。 让我们说你的文件名是main.php

<form action="main.php">
Name: <input type="text" name="name">
<input type="submit" name="submit" value="Submit">
</form> 

或者你可以使用这个

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
Name: <input type="text" name="name">
<input type="submit" name="submit" value="Submit">
</form> 

这回答了你的问题吗?