我最近在我的网站上实现了一个具有登录/用户系统的文件管理器(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并不了解,即使经过一些研究也无法找到正确的方法。任何人都可以帮我这个吗?
非常感谢
答案 0 :(得分:0)
经过一番奋斗后,我终于找到了正确的问题代码:
if(isset($_REQUEST['redirect']) && ($_REQUEST['redirect']!==gatorconf::get('base_url').'/?login=1'))