我知道这是一个很常见的问题,但我找不到答案
我有一个 post.php,它向 controller.php 提交一个 post 表单当它正确时,在控制器中它会:
header("Location: ./post?ok=1");
帖子实际上是插入的,它通过上面的行,但是浏览器中的 url 似乎从未改变,最后没有 ok 参数,
我可以使用会话变量来存储这样的成功/失败参数,但这种方式应该可以工作
post.php:
<form action="controller" method="post">
<input name="test" value='test' type="text" />
<input type="submit" value="post" />
</form>
控制器.php:
<?php
header("Location: ./post?ok=1");
?>
编辑1:
header("Refresh:1;url=http://localhost/test/post?ok=1"); //doesn't work better
编辑2:
在 post.php 顶部我放了
debug("post l ".count($_POST));
debug("get l ".count($_GET));
他们在提交之前显示 0,在提交之后也显示 0
编辑3:它有效
被阻止:
if ($success){
header("Location: ./post?ok=1");
}
header("Location: ./post");
那应该是:
if ($success){
header("Location: ./post?ok=1");
} else {
header("Location: ./post");
}
谢谢大家