2016-02-11 6 views
1

Я начинаю разработку Android. Я хочу связать php-файл с Android-приложением. Мой PHP кодphp соединение с проектом андроида

<?php  
    $con = mysqli_connect("localhost", "root", "", "invoice_db"); 

    if(mysqli_connect_errno($con)) { 
     echo "Failed to connect"; 
    } 

    $response["sucess"]=0; 
    $invoiceid = $_POST['invc']; 
    $response = array(); 
    $sql = "SELECT sl_no from invoice_table where invoice_id='$invoiceid'"; 
    $result = mysqli_query($con,$sql); 

    if(!empty($result)) { 
     $row = mysqli_fetch_array($result); 
     $data = $row[0]; 
     $response["sucess"] = 1; 
    } 
    mysqli_close($con); 
?> 

Вот invc 'это получить от HTTPRequest,

JSONObject json = jsonParser.makeHttpRequest(url_check_user, "POST", params); 

И моя страница JSONParser содержит

if (method == "POST") { 
    // request method is POST 
    // defaultHttpClient 
    System.out.println("Inside json parser POST condition"); 
    DefaultHttpClient httpClient = new DefaultHttpClient(); 
    HttpPost httpPost = new HttpPost(url); 
    httpPost.setEntity(new UrlEncodedFormEntity(params)); 

    System.out.println("Inside json parser POST condition" + params); 

    HttpResponse httpResponse = httpClient.execute(httpPost); 
    HttpEntity httpEntity = httpResponse.getEntity(); 
    Log.d("From httpentity", httpEntity.toString()); 
    System.out.println("ppppppppppppphhhhhhhhhhhhhhhhhhhhppppppppppp"); 
    is = httpEntity.getContent(); 
} 

Теперь я хочу, чтобы проверить, были ли параметры перешел на страницу php или нет. Поэтому я хочу, чтобы консоль/log cat $invoiceid. Как это возможно в Eclipse Ide?

+1

Другая вещь, которую вы можете изменить: 'method ==" POST "' to 'method.equals (" POST ")'. –

+0

Это правда, в Java вы должны сравнивать строки с помощью метода '.equals (...)', так как оператор '==' сравнивает экземпляры (т.е. ссылки) – user2340612

ответ

0

Если вы хотите напечатать переменную внутри PHP-кода, вы можете сделать echo $variable. Однако учтите, что PHP-код будет выполнен на сервере, а не на вашем устройстве Android. Кроме того, ваш PHP-код уязвим для SQL-инъекций.

+0

Любая другая возможность доступна для отображения переменной в консоли/журнале eclipse Кот. Я не хочу показывать в консоли браузера – Rose

+0

PHP выполнен на веб-сервере, он не имеет ничего общего с Android, поэтому вы не можете ничего печатать на логарифме. Вы можете распечатать в LogCat ** результат ** вызова, то есть строку/Json/HTML /, что возвращается вашим PHP-кодом. – user2340612

+0

@Rose: Если вы получаете доступ к URL-адресу PHP в браузере, только тогда он покажет результат в браузере. Если вы запустите его через приложение, вам придется распечатать его с помощью 'Log'. Как уже указывалось, с помощью @ user2340612 вы должны, например, привести результат в 'String'. Дело в том, что если вам нужно проверить результат/результат, вам нужно будет использовать 'echo $ something' в вашем PHP –

0

Вы можете использовать JSON-метод кодирования в вашем php-файле, чтобы получить правильный ответ JSON, подобный этому.

$response = array (
       'invoiceid' => $verify_code,  
      ); 
print json_encode($response); 

, который возвращает строку JSON для вашего приложения в формате, как

{"invoiceid":"null"} 

который можно декодировать и зарегистрировать ее как этот

InputStreamReader isw = new InputStreamReader(is); 
      BufferedReader br = new BufferedReader(isw); 
      String line = ""; 
      StringBuffer buffer = new StringBuffer(); 
      while ((line = br.readLine()) != null){ 
       buffer.append(line); 
      } 
String finalresult = buffer.toString(); 
JSONObject myobject = new JSONObject(finalresult); 
      String flag= myobject.getString("invoiceid"); 

log.e("mylog",flag) 

так, что он будет виден в ваш файл logcat.

Смежные вопросы