服务器端验证php
问题描述:
我想在php中验证我的页面服务器端...要做到这一点,我必须做到张贴到同一页面,以检查控制值。但验证成功后,如何使用post方法重定向到另一个页面?我可以用get来实现这个功能但是有没有一种方法可以使用post方法从代码本身中重定向页面?服务器端验证php
在简单的话,我试图寻找一个解决方案使用POST方法来重定向我的网页,但是从我的PHP代码,而不是设置在形式标记的action属性。
感谢,
RIZWAN
答
从你的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重定向。
答
<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
}
?>
POST会要求重新提交的内容。它用于从客户端向服务器端提交值。如果您验证了服务器端的值,则只需使用GET请求提供页面。你想通过堆积帖子来达到什么目的?你能详细说明吗? – topless
你可能会发现你在找什么[这里](http://goo.gl/nJxqI) – topless