dphw5101 2015-01-02 07:00
浏览 21

localhost工作,在线不在android工作

Hi I am designing Chat application using this index.php,But localhost working perfertly when I was move to online it's not working.how to know the server port.In client side I am calling this index.php file.

Can any one please help me

index.php

<?php


    require_once("mysql.class.php");


    $dbHost = "xxx";
    $dbUsername = "xxx";
    $dbPassword = "xxxx";
    $dbName = "xxx";


    $db = new MySQL($dbHost,$dbUsername,$dbPassword,$dbName);


    define("FAILED", 0);

    define("SUCCESSFUL", 1);

    define("SIGN_UP_USERNAME_CRASHED", 2);  

    define("ADD_NEW_USERNAME_NOT_FOUND", 2);


    define("TIME_INTERVAL_FOR_USER_STATUS", 60);

    define("USER_APPROVED", 1);
    define("USER_UNAPPROVED", 0);


    $username = (isset($_REQUEST['username']) && count($_REQUEST['username']) > 0) 
                                ? $_REQUEST['username'] 
                                : NULL;
    $password = isset($_REQUEST['password']) ? md5($_REQUEST['password']) : NULL;
    $port = isset($_REQUEST['port']) ? $_REQUEST['port'] : NULL;

    $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : NULL;
    if ($action == "testWebAPI")
    {
        if ($db->testconnection()){
        echo SUCCESSFUL;
        exit;
        }else{
        echo FAILED;
        exit;
        }
    }

    if ($username == NULL || $password == NULL)  
    {
        echo FAILED;
        exit;
    }

    $out = NULL;

    error_log($action."
", 3, "error.log");
    switch($action) 
    {

        case "authenticateUser":


            if ($userId = authenticateUser($db, $username, $password)) 
            {                   



                $sql = "select u.Id, u.username, (NOW()-u.authenticationTime) as authenticateTimeDifference, u.IP, 
                                            f.providerId, f.requestId, f.status, u.port 
                                from friends f
                                left join users u on 
                                            u.Id = if ( f.providerId = ".$userId.", f.requestId, f.providerId ) 
                                where (f.providerId = ".$userId." and f.status=".USER_APPROVED.")  or 
                                             f.requestId = ".$userId." ";



                $sqlmessage = "SELECT m.id, m.fromuid, m.touid, m.sentdt, m.read, m.readdt, m.messagetext, u.username from messages m 
"
        . "left join users u on u.Id = m.fromuid WHERE `touid` = ".$userId." AND `read` = 0 LIMIT 0, 30 ";


                if ($result = $db->query($sql))         
                {
                        $out .= "<data>"; 
                        $out .= "<user userKey='".$userId."' />";
                        while ($row = $db->fetchObject($result))
                        {
                            $status = "offline";
                            if (((int)$row->status) == USER_UNAPPROVED)
                            {
                                $status = "unApproved";
                            }
                            else if (((int)$row->authenticateTimeDifference) < TIME_INTERVAL_FOR_USER_STATUS)
                            {
                                $status = "online";

                            }
                            $out .= "<friend  username = '".$row->username."'  status='".$status."' IP='".$row->IP."' userKey = '".$row->Id."'  port='".$row->port."'/>";



                        }
                            if ($resultmessage = $db->query($sqlmessage))           
                                {
                                while ($rowmessage = $db->fetchObject($resultmessage))
                                    {
                                    $out .= "<message  from='".$rowmessage->username."'  sendt='".$rowmessage->sentdt."' text='".$rowmessage->messagetext."' />";
                                    $sqlendmsg = "UPDATE `messages` SET `read` = 1, `readdt` = '".DATE("Y-m-d H:i")."' WHERE `messages`.`id` = ".$rowmessage->id.";";
                                    $db->query($sqlendmsg);
                                    }
                                }
                        $out .= "</data>";
                }
                else
                {
                    $out = FAILED;
                }           
            }
            else
            {

                    $out = FAILED;
            }



        break;

        case "signUpUser":
            if (isset($_REQUEST['email']))
            {
                 $email = $_REQUEST['email'];       

                 $sql = "select Id from  users 
                                where username = '".$username."' limit 1";



                 if ($result = $db->query($sql))
                 {
                        if ($db->numRows($result) == 0) 
                        {
                                $sql = "insert into users(username, password, email)
                                    values ('".$username."', '".$password."', '".$email."') ";                          

                                    error_log("$sql", 3 , "error_log");
                                if ($db->query($sql))   
                                {
                                        $out = SUCCESSFUL;
                                }               
                                else {
                                        $out = FAILED;
                                }                           
                        }
                        else
                        {
                            $out = SIGN_UP_USERNAME_CRASHED;
                        }
                 }                      
            }
            else
            {
                $out = FAILED;
            }   
        break;

        case "sendMessage":
        if ($userId = authenticateUser($db, $username, $password)) 
            {   
            if (isset($_REQUEST['to']))
            {
                 $tousername = $_REQUEST['to']; 
                 $message = $_REQUEST['message'];   

                 $sqlto = "select Id from  users where username = '".$tousername."' limit 1";



                        if ($resultto = $db->query($sqlto))         
                        {
                            while ($rowto = $db->fetchObject($resultto))
                            {
                                $uto = $rowto->Id;
                            }
                            $sql22 = "INSERT INTO `messages` (`fromuid`, `touid`, `sentdt`, `messagetext`) VALUES ('".$userId."', '".$uto."', '".DATE("Y-m-d H:i")."', '".$message."');";                       

                                    error_log("$sql22", 3 , "error_log");
                                if ($db->query($sql22)) 
                                {
                                        $out = SUCCESSFUL;
                                }               
                                else {
                                        $out = FAILED;
                                }                       
                            $resultto = NULL;
                        }   

            $sqlto = NULL;
            }
            }
            else
            {
                $out = FAILED;
            }   
        break;

        case "addNewFriend":
            $userId = authenticateUser($db, $username, $password);
            if ($userId != NULL)
            {

                if (isset($_REQUEST['friendUserName']))         
                {               
                     $friendUserName = $_REQUEST['friendUserName'];

                     $sql = "select Id from users 
                                     where username='".$friendUserName."' 
                                     limit 1";
                     if ($result = $db->query($sql))
                     {
                            if ($row = $db->fetchObject($result))
                            {
                                 $requestId = $row->Id;

                                 if ($row->Id != $userId)
                                 {
                                         $sql = "insert into friends(providerId, requestId, status)
                                             values(".$userId.", ".$requestId.", ".USER_UNAPPROVED.")";

                                         if ($db->query($sql))
                                         {
                                                $out = SUCCESSFUL;
                                         }
                                         else
                                         {
                                                $out = FAILED;
                                         }
                                }
                                else
                                {
                                    $out = FAILED;  
                                }                                                
                            }
                            else
                            {
                                $out = FAILED;                      
                            }
                     }                               
                     else
                     {
                            $out = FAILED;
                     }              
                }
                else
                {
                        $out = FAILED;
                }           
            }
            else
            {
                $out = FAILED;
            }   
        break;

        case "responseOfFriendReqs":
            $userId = authenticateUser($db, $username, $password);
            if ($userId != NULL)
            {
                $sqlApprove = NULL;
                $sqlDiscard = NULL;
                if (isset($_REQUEST['approvedFriends']))
                {
                      $friendNames = split(",", $_REQUEST['approvedFriends']);
                      $friendCount = count($friendNames);
                      $friendNamesQueryPart = NULL;
                      for ($i = 0; $i < $friendCount; $i++)
                      {
                        if (strlen($friendNames[$i]) > 0)
                        {
                            if ($i > 0 )
                            {
                                $friendNamesQueryPart .= ",";
                            }

                            $friendNamesQueryPart .= "'".$friendNames[$i]."'";

                        }               

                      }
                      if ($friendNamesQueryPart != NULL)
                      {
                        $sqlApprove = "update friends set status = ".USER_APPROVED."
                                        where requestId = ".$userId." and 
                                                    providerId in (select Id from users where username in (".$friendNamesQueryPart."));
                                    ";      
                      }

                }
                if (isset($_REQUEST['discardedFriends']))
                {
                        $friendNames = split(",", $_REQUEST['discardedFriends']);
                      $friendCount = count($friendNames);
                      $friendNamesQueryPart = NULL;
                      for ($i = 0; $i < $friendCount; $i++)
                      {
                        if (strlen($friendNames[$i]) > 0)
                        {
                            if ($i > 0 )
                            {
                                $friendNamesQueryPart .= ",";
                            }

                            $friendNamesQueryPart .= "'".$friendNames[$i]."'";

                        }                   
                      }
                      if ($friendNamesQueryPart != NULL)
                      {
                        $sqlDiscard = "delete from friends 
                                            where requestId = ".$userId." and 
                                                        providerId in (select Id from users where username in (".$friendNamesQueryPart."));
                                                ";
                      }                     
                }
                if (  ($sqlApprove != NULL ? $db->query($sqlApprove) : true) &&
                            ($sqlDiscard != NULL ? $db->query($sqlDiscard) : true) 
                   )
                {
                    $out = SUCCESSFUL;
                }
                else
                {
                    $out = FAILED;
                }       
            }
            else
            {
                $out = FAILED;
            }
        break;

        default:
            $out = FAILED;      
            break;  
    }

    echo $out;



    ///////////////////////////////////////////////////////////////
    function authenticateUser($db, $username, $password)
    {

        $sql22 = "select * from users 
                        where username = '".$username."' and password = '".$password."' 
                        limit 1";

        $out = NULL;
        if ($result22 = $db->query($sql22))
        {
            if ($row22 = $db->fetchObject($result22))
            {
                    $out = $row22->Id;

                    $sql22 = "update users set authenticationTime = NOW(), 
                                                                     IP = '".$_SERVER["REMOTE_ADDR"]."' ,
                                                                     port = 15145 
                                    where Id = ".$row22->Id."
                                    limit 1";

                    $db->query($sql22);             


            }       
        }

        return $out;
    }

    ?>
  • 写回答

1条回答 默认 最新

  • dongmo20030416 2015-01-02 07:09
    关注

    I think your problem is at the dbHost variable, for the connection beetwen the devices, it needs to have an IP Adress, i asume you had LocalHost at the dbHost before and thats why it was working, so the solution is getting the IP adress of the Data base that you are using for the app and placing it on the code. Of course it's not recommended for you to use an static IP on the host, because if the IP of the database changes you will have to re-write the dbHost value with the new IP

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100