我有一个简单的登录系统,如果你没有登录,它会从每个内部页面重定向回到外面。(比如check_user)
现在我的一个页面有问题,因为login.php位于admin-cp的主文件夹中,对于大多数页面来说都不是问题。但我为我正在使用的新闻小组创建了一个新文件夹,所以当然它不会重定向但我无法找出问题是什么。
if(!isset($_SESSION['userid'])) {
die('Please login first! <a href="login.php">Back to login</a>');
}
有关如何使其适用于其他文件夹的任何建议吗?只需将login.php复制粘贴到该特定文件夹或您建议的是什么?
答案 0 :(得分:1)
试试这个,它需要完整的网络路径,删除/
之后的所有内容并添加login.php
。
if(!isset($_SESSION['userid'])) {
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url = substr($url , 0, strpos($url , "/")); //should give you just the root website (http://website.com/ or http://localhost/)
$url += + "login.php" //maybe you need to do "/login.php"
die("Please login first! <a href='$url'>Back to login</a>");
}
答案 1 :(得分:0)
如果您要重定向它们,请尝试使用基于根的链接。它来自顶层文件夹,无论如何它们总是到达页面。
将路径放在顶层目录的登录名中,以/
开头如
die('Please login first! <a href="/login.php">Back to login</a>');
答案 2 :(得分:0)
如果您的login.php
位于根目录(即http://example.com/login.php),则可以在前面添加/
,以便将其链接回根文件夹(又名绝对值)路径)并在那里寻找login.php。
喜欢这样。
if(!isset($_SESSION['userid'])) {
die('Please login first! <a href="/login.php">Back to login</a>');
只有login.php
是一个相对路径,它只会查找当前目录中的文件。