7

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

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

谢谢。

4

3 回答 3

10

只需这样做:

$referer = $_SERVER['HTTP_REFERER'];
header("Location: $referer");
于 2017-08-13T17:59:02.127 回答
4

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

<?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 框架而不是这种意大利面条代码......

于 2013-06-15T16:43:31.527 回答
1

这是重定向到表单的两个示例。假设您的文件名是 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> 

这回答了你的问题吗?

于 2013-06-15T16:41:45.040 回答