0

我有一个包含三个链接的索引页面,如下所示。当我单击第一个链接(下例中的 pageType1)时,将运行 pageType1.php,首先检查用户是否通过 cookie 登录。如果不是,则将用户重定向到登录页面。当用户在登录页面上正确提交登录名和密码信息时,我想在 pageType1.php 上显示信息

文件:index.php

<a href="pageType1.php" target="_blank">PageType1</a>
<a href="pageType2.php" target="_blank">PageType2</a>
<a href="pageType3.php" target="_blank">PageType3</a>

文件:pageType1.php

<?php
include"auth/auth_check_header.php"; 
print("pageType1 contents");
?>

文件:pageType2.php

<?php
include"auth/auth_check_header.php"; 
print("pageType2 contents");
?>

文件:pageType3.php

<?php
include"auth/auth_check_header.php"; 
print("pageType3 contents");
?>

文件:auth/auth_check_header.php

$successful_login_url = ??????   //How to track this value. 

if (!cookie_enabled)
    {
    //login page
    header("location:$successful_login_url");
    }

我的问题是如何在 auth/auth_check_header.php 中跟踪“$successful_login_url”值(或者我应该把这个变量的值作为什么)

注意:我尝试将 $_SESSION["referer"] 作为 "$successful_login_url" 的值,但成功登录后显示 index.php。提前致谢

4

2 回答 2

0

您可以将页面 url 作为 GET 变量(查询字符串)传递并基于此重定向,或者如果您想获取包含所在的页面,您可以使用“PHP_SELF”并将其存储在变量中并使用它来重定向背部:

$_SERVER['PHP_SELF']

http://php.net/manual/pt_BR/reserved.variables.server.php

于 2012-03-23T22:10:37.180 回答
0

1) 用户尝试访问 pageType1.php

2) 用户被重定向到 login.php,其中包含一个带有隐藏字段的表单:

<input type="hidden" name="redirectTo" value="<?php echo $_SESSION["HTTP_REFERER"]?>" />

3) 用户键入登录名,并在成功通过身份验证时:

$redirectTo = $_POST['redirectTo']

4)如果$redirectTo不为空,则重定向,否则重定向到默认页面

于 2012-03-23T22:20:18.550 回答