【发布时间】:2011-12-31 17:22:20
【问题描述】:
我正在做一个项目,我需要在别人的网络服务器上运行我的程序。这是一个非常简单的登录页面,我遇到了问题。如果我通过 WAMP 通过本地主机运行该程序,则该程序可以正常工作。我遇到的问题是重定向部分无法正常工作,它验证用户并启动会话,但是当它到达重定向时没有任何反应。
我的语法有问题,我认为这不太可能,因为它确实可以通过我的本地主机正常工作。或者,我认为服务器没有该功能(不确定是否可以选择您的服务器支持的模块,尽管我确信它是可行的)。
我不知道这是否重要,但他们正在使用“cpanel”,这是我可以访问文件的地方,并且所有文件都在同一个目录中,所以如果有人可以告诉我哪里出错或建议重定向的替代方法通过“标题”任何帮助将不胜感激。我环顾四周,但似乎“标头”是标准的工作马。
这是我的代码:
if( (!empty($_POST['username'])) && (!empty($_POST['password'])) )
{
// username and password sent from Form
$myusername = $_POST['username'];
$mypassword = $_POST['password'];
$sql="SELECT UserName FROM User WHERE UserName='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
//$active=$row['active'];
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
echo "we made if to the if";
session_start();
session_register("myusername");
$_SESSION['login_user']=$myusername;
echo "right b4 the re-direct";
header("location: UI.php");
exit;
}
else
echo "Your user name/password was not correct pleast TRY AGAIN!!!";
}
更新:为了回应关于回声的陈述,我在同一个文件中处理我的表单并使用 echo $_SERVER['PHP_SELF']
【问题讨论】:
-
您是否启用了错误报告?您是否 100% 确定满足条件并发送标头?
-
在标题调用之前不能让页面输出任何内容。您的调试语句正在阻止重定向工作。
-
是的,我尝试删除它们,但仍然无法正确重定向
-
在Headers already sent by PHP 中查看
<meta>替代方案。