Android:奇怪的响应,可能从PHP登录重定向


Android: odd response, possible redirect from PHP login

这是这篇文章的后续。我已经测试了代码在其他网站上的帖子,我得到有效的响应和成功登录。然而,在这个网站上,我得到了什么看起来像一个重定向。这是我试图访问的php文件。

<?php
session_start();
error_reporting(E_ALL^ E_NOTICE);
//include the connection and variable defination page
include("include/server.php");
include("include/function.php");
//checking the form has been submit by user or not
if(isset($_POST['cmdSubmit']) and $_POST['cmdSubmit']="Login")
{   
//$refLink  = $_SERVER['HTTP_REFERER'];
$refLink    = "index.php?err_msg=1";
$user = addslashes($_POST['username']);
$pass = addslashes($_POST['password']);
$remember = $_POST['remember'];
$strErrorMessage = "";
if($user==""){
    $strErrorMessage = "User Name can not be blank";
}
if($pass==""){
    $strErrorMessage = "Password can not be blank";
}
if($user=="" and $pass==""){
    $strErrorMessage = "User Name and Password can not be blank";
}
if($strErrorMessage=="")
{
    if(isset($_POST['remember'])){
        //removing all the cookie at set the user name password in cookies
        unset($_COOKIE[session_name()]);        
        setcookie("usernamex", $_POST['username'], time()+60*60*24*100);
        setcookie("userpassx", $_POST['password'], time()+60*60*24*100);
        setcookie("rememberx", $_POST['remember'], time()+60*60*24*100);
    }else{
        if(isset($_COOKIE['rememberx']) && isset($_COOKIE['usernamex']) && isset($_COOKIE['userpassx']))
        {
            unset($_COOKIE[session_name()]);        
            setcookie("usernamex", $_POST['username'], time());
            setcookie("userpassx", $_POST['password'], time());
            setcookie("rememberx", $_POST['remember'], time());
        }
    }
    $sqlLogin   = "select * from member_mast where username = '".$user."' and password = '".$pass."' and is_deleted_flg=0 and is_profile=0";        
    $queryLogin = mysql_query($sqlLogin) or die(mysql_error()." Please check the Query");
    $totLogin   = mysql_num_rows($queryLogin);      
    //here checking the user is authorized or not 
    if($totLogin>0)
    {
        $rsLogin                = mysql_fetch_array($queryLogin);   
        $_SESSION['uid']        = trim($rsLogin['username']);
        $_SESSION['memberid']       = trim($rsLogin['user_id']);
        $_SESSION['userType'] = trim($rsLogin['member_role']);
        if(isset($_POST["page"]) and trim($_POST["page"])!="")
        {
            $pageName       = trim($_POST["page"]);
            $pagepassId     = trim($_POST["pageid"]);
            $redirect_url   = "http://www.fakesite.com/fspv2/welcome.php?page=".$pageName."&pageid=".$pagepassId;
        }
        else
        {
            //$redirect_url = "http://www.fakesite.com/fspv2/welcome.php";
            //$redirect_url = "welcome.php";
            $redirect_url   = "welcome.php";
        }
//header("Location: ".$redirect_url);
?>
        <script>window.location.href="<?php echo $redirect_url; ?>";</script>
      <!--  <meta http-equiv="refresh" content="0;url=<?php echo $redirect_url; ?>">    -->
<?php
}
else
{       
        $displayMessage = "Login failed. If you are authorized, try again";
        session_destroy();
        $state = "inv";
        $_SESSION['username'] = $_POST['username'];
        $_SESSION['password'] = $_POST['pass'];         
        $username = $_SESSION['username'];
        $password = $_SESSION['password'];  
    ?>
        <script>window.location.href="<?php echo $refLink; ?>";</script>
    <?php       
    }
}
else
{   
    $state = "inv";
    $_SESSION['username'] = $_POST['userid'];
    $_SESSION['password'] = $_POST['pass'];
    $username = $_SESSION['username'];
    $password = $_SESSION['password'];
    $displayMessage = $strErrorMessage;
?>
    <script>window.location.href="<?php echo $refLink; ?>";</script>
<?php       
}  
}
 //header("Location: ".$refLink);
?>
<!--<script>window.location.href="<?php echo $refLink; ?>";</script>--> <!-- <meta http-equiv="refresh" content="0;url=<?php echo $refLink; ?>">  -->

现在,当我连接到这个login.php并不重要,如果用户名/pw是有效的或不。我得到的唯一回应是这个

05-18 17:08:50.160: V/RESPONSE(30797):  <!--<script>window.location.href="";</script>-->       <!-- <meta http-equiv="refresh" content="0;url=">                -->    

看起来好像是javascript试图重定向我,因为它是一个移动设备。我能找到的唯一重定向是将客户端重定向到"welcome.php",这将是如果他们成功登录。我已经通过网站上的文件,似乎没有一个移动登录.php(我可能是错的)。应该指出的是,我没有设计我试图登录的网站,该网站是可操作的,用户可以从这个php文件从他们的浏览器登录。我还能看到所有的文件。*我的问题是为什么这个php文件不允许我通过我的安卓应用程序登录,而不是给我这个奇怪的反应?*如果您需要查看任何其他代码,请询问。谢谢!

javascript从哪里来很容易回答:

?>
<!--<script>window.location.href="<?php echo $refLink; ?>";</script>--> <!-- <meta http-equiv="refresh" content="0;url=<?php echo $refLink; ?>">  -->

PHP标记结束后,有额外的文本。也就是javascript。如果你不想让它出现在响应中,你需要从PHP文件中删除它,或者添加一个PHP If条件,使它只在某些上下文中显示。

对于Android代码,你需要添加
nameValuePairs.add(new BasicNameValuePair("cmdSubmit", "Login"));