重定向回索引页面

时间:2015-07-01 16:04:56

标签: php jquery

我有一个名为index.php的主页..还有一个名为registration.php的注册页。

index.php中有一些逻辑,需要执行才能使网站正常工作。

所以我们假设网址是http://www.testwebsite.com

并且注册网址是:所以我们假设网址是http://www.testwebsite.com/registration.php

当用户立即导航到So时,假设url为http://www.testwebsite.com/registration.php,则index.php中的逻辑被绕过并且不会被执行并导致问题。

现在问题..

如果他们直接转到registration.php链接,我有没有办法将它们重定向到index.php页面?所以代码必须检查并查看index.php网页是否先被点击,如果没有被点击,那么它应该重定向到index.php。但是,如果index.php网站已被点击,那么它应该继续,而不是重定向回index.php。

4 个答案:

答案 0 :(得分:1)

当" index.php"执行后你可以创建一个会话变量,如下所示:

<?php

session_start();
$_SESSION[ "index" ] = TRUE;  // CREATE SESSION VARIABLE.

?>

现在,在&#34; registration.php&#34;检查会话变量:

<?php

session_start();
if ( ! isSet( $_SESSION[ "index" ] ) ) // IF SESSION VARIABLE DOES NOT EXIST.
   header( "Location: index.php" ); // JUMP TO INDEX.

?>

这两个代码必须位于相应页面的顶部。

答案 1 :(得分:0)

您可以使用以下内容:

<?php
    if (condition when you wanna go to index)
        header("Location: ./index.php");
?>

答案 2 :(得分:0)

您设置了一个Cookie

我可以看到你正在使用PHP,这意味着设置一个会话变量,表明index.php已被命中。然后可以在registration.php上检查,如果没有设置则执行重定向。

查看文档over here,但它基本上是

的情况
!isset($_SESSION['was_index_hit'])

答案 3 :(得分:0)

可以引用

$_SERVER['HTTP_REFERER']来确定上一页的内容。例如:

if( isset( $_SERVER['HTTP_REFERER'] ) ){
    if( ! strpos( $_SERVER['HTTP_REFERER'], 'testwebsite.com' ) ){
        header( 'Location: http://www.testwebsite.com' );
        exit();
    }
}

请注意,您无法始终信任此变量:

  

将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。

来自: http://php.net/manual/en/reserved.variables.server.php