您好我想知道如何在提交表单之后保护页面并重定向到其他页面。 http://ranksurveys.com/users/signup 他们在你提交表格之后就在这里了,你再也无法访问那个页面..你将自动重定向到http://ranksurveys.com/surveys 我很好奇希望有人可以帮助我!
答案 0 :(得分:0)
当用户提交表单时,您只需将表单提交的信息放入Cookie会话中。在渲染表单之前,您只需检查cookie \ session中的值,如果您发现表单已经提交,则只需通过PHP发送位置和重定向状态代码。你应该避免在JS中实现它,因为任何人都可以在浏览器中轻松禁用Javascript。
这里有一些丑陋但快速的代码exmaples只是为了解释这个概念 1.检索表格
/* These are our valid username and passwords */
$user = 'jonny4';
$pass = 'delafoo';
if (isset($_POST['username']) && isset($_POST['password')) {
if (($_POST['username'] == $user) && ($_POST['password'] == $pass)) {
if (isset($_POST['rememberme'])) {
/* Set cookie to last 1 year */
setcookie('username', $_POST['username'], time()+60*60*24*365, '/account', 'www.example.com');
setcookie('password', md5($_POST['password']), time()+60*60*24*365, '/account', 'www.example.com');
} else {
/* Cookie expires when browser closes */
setcookie('username', $_POST['username'], false, '/account', 'www.example.com');
setcookie('password', md5($_POST['password']), false, '/account', 'www.example.com');
}
header('Location: index.php');
} else {
echo 'Username/Password Invalid';
}
} else {
echo 'You must supply a username and password.';
}
访问cookie并在未登录的情况下重定向到登录。我希望您了解如何实施相反的案例;)
/ *这些是我们有效的用户名和密码* / $ user =' jonny4&#39 ;; $ pass =' delafoo';
if(isset($ _ COOKIE [[' username'])&&& isset($ _ COOKIE ['密码')){
if (($_POST['username'] != $user) || ($_POST['password'] != md5($pass))) {
header('Location: login.html');
} else {
echo 'Welcome back ' . $_COOKIE['username'];
}
} else { 标题('位置:login.html'); }
答案 1 :(得分:0)
您可以使用Cookie。它是否可以用作服务器端或客户端。这可以通过Jquery cookie轻松实现。
第1步:添加脚本文件
<head>
<script src="path/to/jquery.js"></script>
<script src="path/to/jquery.cookie.js"></script>
</head>
第2步:在受保护的表单页面中添加此脚本
var isProtected = $.cookie('page-protected');
if(isProtected == 'YES'){
// We dont need to stay them on current page if they have already submitted the form
window.location = "http://yoursite.com/your-thanking-page";
}
$.cookie('page-protected', 'NO');
第3步:在感谢页面中,如果相关表格成功提交,您应该设置Cookie YES 。
if(formSubmitComplete){
$.cookie('page-protected', 'YES');
}