替代"标题"以在PHP中重新定向

cpo*_*el2 9 php redirect

我正在开展一个项目,我需要在其他人的网络服务器上运行我的程序.这是一个非常简单的登录页面,我遇到了问题.如果我通过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!!!";

} 
Run Code Online (Sandbox Code Playgroud)

更新:响应关于回声的陈述,我可能会在同一个文件中处理我的表单并使用echo $ _SERVER ['PHP_SELF']

Raj*_*hal 41

我用这个函数进行重定向...

哪个适用于所有情况..即使标题已经发送..甚至javascript被禁用..

function redirect($url)
{
    if (!headers_sent())
    {    
        header('Location: '.$url);
        exit;
        }
    else
        {  
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$url.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>'; exit;
    }
}
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 2

来自文档

请记住,必须在发送任何实际输出之前调用它header(),无论是通过正常的 HTML 标签、文件中的空行还是从 PHP。

echo导致重定向失败,就像标头之前发送的任何其他输出一样。