重定向后仅打开页面

时间:2014-04-02 15:57:08

标签: php html

我的问题可能是愚蠢的。但我想知道,如果有任何代码阻止页面打开,如果尝试使用链接但只在之后打开。如果它的链接来自另一个页面。

例如,如果我在页面 contact.php 上有表单,用户会被重定向到页面 contact_success.php

现在我想,如果有人试图直接从浏览器地址栏打开 contact_success.php 页面,则不应该打开它。只有在 contact.php 页面提交表单后才能打开它。

3 个答案:

答案 0 :(得分:1)

一种简单的方法就是在if页面上使用contact_success.php检查,例如

if($_SERVER['REQUEST_METHOD'] = "POST"){
    //display page
} else {
    echo 'You cannot view this page.';
    //add redirect, if you like
}

答案 1 :(得分:1)

在contact.php中为用户设置会话或cookie,然后在contact_sucess.php中检查它是否存在。

例如:

contact.php:

<?php
$_SESSION['visited_login'] = 'yes';
?>

contact_sucess.php:

<?php
if (isset($_SESSION['visited_login']) && $_SESSION['visited_login']=="yes") {
    // output tanks
} else {
    echo "go away";
    die;
}
?>

答案 2 :(得分:0)

您可以为该示例使用会话:

当你提交联系表格时,有一个页面,你将处理用户输入,我将使用(参考#1)

  1. contact_process.php

    $ _ SESSION [&#39;成功&#39;] =&#39;成功&#39;;

    (this code will create a session)
    

    然后一旦成功处理用户输入,就会有另一个页面(参考#2)

  2. contact_success.php

    如果(isset($ _ SESSION [&#39;成功&#39;])

    {

         //Output if it is success
    
    }    
    

    否则{

    头(&#39;位置:contact.php&#39);

    }

  3. (此代码将检查会话是否存在,如果是,所需的输出将显示,如果不存在,则应该返回contact.php)

    您可以在此处轻松学习会话http://www.w3schools.com/php/php_sessions.asp