我正在开发一个项目,需要在别人的Web服务器上运行我的程序。问题出在一个简单的登录页面上。如果我通过WAMP在本地主机上运行它,程序可以正常工作。但是问题是重定向部分没有正确工作。它验证了用户并开始了会话,但是当到达重定向部分时什么都不会发生。
我认为语法方面可能没有问题,因为在本地主机上可以正常工作。或者,我在想服务器可能没有这个功能(不确定它是否可能挑选并选择要支持哪些模块,尽管我相信这是可行的)。
我不知道这是否重要,但他们正在使用"cpanel",这是我可以访问文件的地方,而且它们都在同一个目录中。如果有人能告诉我我做错了什么,或者提供一种通过“header”以外的重定向替代方式,那将不胜感激。我已经四处找过,但似乎“header”是标准解决方法。
以下是我的代码:
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语句的说法,可能问题出在我正在同一文件中处理表单并使用echo $_SERVER ['PHP_SELF'] 。
<meta>
替代方案。 - mario