我的问题是在 /admin/country.php 时在网络服务器上,并使用表单发布方法和操作设置为 / classes添加国家/地区/country.php 我的标题语句“标题(”位置:../ Admin / country.php“)”工作正常,但当我在根目录中的索引页面上时尝试使用表单操作“classes / login.php”登录,并且在成功登录时我使用标题(“位置:../ Admin / index.php”)它永远不会重定向,但一切正常我的本地服务器,我不知道这里的问题,任何帮助将真的很感激, 我搜索了这个论坛和其他人,并试图使用他们告诉的技术,但没有任何工作
我的索引页面index.php
我的管理部门Admin/Country.php
我的login.php脚本位于
之下<?php
ob_start();
include_once("classes/connection.php");
?>
<?php
class login
{
public static function validateLogin($userName,$password)
{
if(isset($userName) && isset($password))
{
$connection = dbconnection::getConnection();
$query = "Select * from tbllogin Where loginID ='" . $userName .
"' and password = '" . $password . "'";
$result = mysql_query($query);
$rowsAffected = mysql_affected_rows();
if($rowsAffected==0)
{
//header("Location: ../index.php/");
//exit();
return false;
}
else
{
while($row = mysql_fetch_array($result))
{
//working
$role = $row["role"];
if($role == "Admin")
{
//header('Location: ../Admin/index.php');
//exit();
return true;
}
else
{
//echo "hello";
//header("Location: ../index.php/");
//exit();
return false;
}
//return $result;
//header("Location: ../index.php");
}
}
}
else
{
//header("Location: ../index.php/");
return false;
}
}
}
?>
<?php
if(isset($_POST["btnSumbit"]))
{
$isValid = login::validateLogin($_POST["userID"],$_POST["password"]);
if(isset($isValid))
{
if($isValid ==true)
{
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'Admin/index.php';
header("Location: http://$host$uri/$extra");
exit();
}
}
}
ob_end_flush();
&GT;
答案 0 :(得分:0)
不要将标题重定向与相对路径一起使用。您应该重定向到前端URL路径或绝对路径。
你的“classes / login.php”可能是一个包含在“index.php”中的文件 - 所以你实际上试图走出网络服务器目录 - 这就是为什么它在本地运行但不在服务器。