如何在表单提交后永久重定向到另一个页面

时间:2016-09-12 02:01:33

标签: javascript php jquery forms

您好我想知道如何在提交表单之后保护页面并重定向到其他页面。 http://ranksurveys.com/users/signup 他们在你提交表格之后就在这里了,你再也无法访问那个页面..你将自动重定向到http://ranksurveys.com/surveys 我很好奇希望有人可以帮助我!

2 个答案:

答案 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.';
}
  1. 访问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');
}