登录重定向的动态变量

时间:2015-10-21 17:14:38

标签: php redirect

我最近在我的网站上实现了一个具有登录/用户系统的文件管理器(FileGator),但是我在尝试修改重定向代码时遇到了一些麻烦。我的登录表单出现在每个页面上,目前登录的用户自动重定向到他浏览的同一页面。

事情是有一个特定的页面,我希望我的用户被重定向到其他地方,所以我想出了一个实际工作正常的代码:

// reload
        if(isset($_REQUEST['redirect']) && ($_REQUEST['redirect'])!=='http://mywebsite.home/ftp/?login=1' )
            $url = $_REQUEST['redirect']; // holds url for last page visited.
        else {
            header('Location: '.gatorconf::get('base_url').'/?cd='); // default page 
            die;
        }
        header("Location:$url");
        die;

因此,使用该代码,如果当前页面的网址为http://mywebsite.home/ftp/?login=1,我的用户将始终重定向到同一页面,在这种情况下,他将被重定向到"默认页面" (如果用户从文件管理器的登录页面登录,也是用户重定向的对象。)

但我喜欢的是网址http://mywebsite.home/ftp/?login=1是"动态"有点像这样:"base_url"/ftp/?login=1所以它在本地和我上传它的任何地方都有效,它看起来也会更清晰。

我尝试使用文件管理器的代码行('Location: '.gatorconf::get('base_url').'/?cd='),这似乎会自动获取我的基本网址。

我尝试了什么:

// reload
    if(isset($_REQUEST['redirect']) && ($_REQUEST['redirect'])!==(.gatorconf::get('base_url')./?login=1) )
        $url = $_REQUEST['redirect']; // holds url for last page visited.
    else {
        header('Location: '.gatorconf::get('base_url').'/?cd='); // default page 
        die;
    }
    header("Location:$url");
    die;
}

还尝试使用$变量,例如:

// reload
        $default_redirect = .gatorconf::get('base_url').'/?login=1';
        if(isset($_REQUEST['redirect']) && ($_REQUEST['redirect'])!==($default_redirect) )
            $url = $_REQUEST['redirect']; // holds url for last page visited.
        else {
            header('Location: '.gatorconf::get('base_url').'/?cd='); // default page 
            die;
        }
        header("Location:$url");
        die;
    }

但是现在可能很明显我对PHP并不了解,即使经过一些研究也无法找到正确的方法。任何人都可以帮我这个吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

经过一番奋斗后,我终于找到了正确的问题代码:

if(isset($_REQUEST['redirect']) && ($_REQUEST['redirect']!==gatorconf::get('base_url').'/?login=1'))