我到处寻找并尝试了所有的解决方案,但它仍然没有让我到任何地方。这是我的代码:
<?php
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username']))
{
header('Location: /public_html/index.php');
exit;
}
elseif(!empty($_POST['username']) && !empty($_POST['password']))
{
$username = mysql_real_escape_string($_POST['username']);
$password = md5(mysql_real_escape_string($_POST['password']));
$checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'");
if(mysql_num_rows($checklogin) == 1)
{
$row = mysql_fetch_array($checklogin);
$email = $row['EmailAddress'];
$_SESSION['Username'] = $username;
$_SESSION['EmailAddress'] = $email;
$_SESSION['LoggedIn'] = 1;
header('Location: /public_html/index.php');
exit;
}
else
{
echo "<h1>Error</h1>";
echo "<p>Sorry, your account could not be found. Please <a href=\"index.php\">click here to try again</a>.</p>";
}
}
?>
当我将其上传到我的服务器并登录时,它会将我带到一个空白的php页面。这段代码我做错了什么?我尝试使用“而不是”。我正在尝试将用户重定向到文件夹之外的页面,因此是“/ public_html /”。任何帮助都将非常感谢。
答案 0 :(得分:0)
如果在文件夹之外,则使用
header("Location:../public_html/index.php");
答案 1 :(得分:0)
使用/
启动您的网址,然后使用文件夹名称,您需要转到顶部/根目录,然后使用您指定的文件夹名称。
例如:
前往/public_html
意味着您重定向到http://www.example.com/public_html我认为您的情况不存在
要解决此问题,请执行以下操作:
添加一个双点:..
获取../public_html意味着您正在从http://www.example.com/some_project/some_folder/重定向到http://www.example.com/some_project/public_html/(例如)。
参考Vicky的回答,
header("Location:../public_html/index.php");
exit();
并且不要忘记最后添加exit();
。
编辑:请停止使用古老的PHP-MySQL。为了您自己的安全,您可以使用更好的替代方案: