我试图在php中验证我的页面服务器端...为此我必须发布到同一页面以检查控件值。但验证成功后,如何使用post方法重定向到另一个页面?我可以使用get来完成这个但是有没有办法使用post方法从代码本身重定向页面?
简单来说,我正在尝试寻找一种解决方案,使用post方法重定向我的页面,但是使用我的php代码,而不是在表单标记中设置action属性。
谢谢,
RIZWAN
答案 0 :(得分:0)
当您想要获取新页面时,从PHP代码重定向到另一个页面:
<?php
header("HTTP/1.1 303 See Other");
header("Location: http://www.example.com/page/to/redirect-to.html");
?>
我在这里使用303,HTTP/1.1 spec说:
可以在不同的URI下找到对请求的响应,并且应该使用该资源上的GET方法检索。此方法主要用于允许输出POST激活的脚本以将用户代理重定向到选定的资源。
并使用301,302或307 doesn't always get you a redirect-to-GET重定向。
答案 1 :(得分:0)
<form action="<?php echo $_SERVER['PHP_SELF']; ?> action="post">
...表单代码的其余部分
提交按钮
<input type="submit" name="formsubmit" value="submit button text" />
位于页面顶部的某处
<?php
if(isset($_POST['formsubmit))
{
//do validation and if validated - redirect to new page
}
else {
// display errors and current page with form again
}
?>