2014-04-10 1 views
1

PHP를 처음 사용했습니다. 어떻게하면이 PHP 스크립트를 Android 앱에서 호출 할 수 있습니까?Android 앱에서 PHP로 JSON 요청하기

<?php 
$json_data=$_POST['tagtrack_scans']; 
$data=json_decode($json_data, true); 

echo $data['email']; 
echo $data['scanned_as']; 
echo $data['product_id']; 

$dbhost = 'localhost:2082'; 
$dbuser = 'user'; 
$dbpass = 'password'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db('tagtrack_scans'); 
if(! $conn) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected to tagtrack_scans'; 

$sql="INSERT INTO tagtrack_scans (email, scanned_as, product_id) 
VALUES ($email, $canned_As, $product_id)"; 

if (!mysqli_query($con,$sql)) 
{ 
    die('Error: ' . mysqli_error($con)); 
} 
echo "1 record added"; 

mysql_close($conn); 
?> 
+2

** (1) ** 당신은 당신의 DB 사용자 이름/암호를 노출, 그래서 즉시 사람들을 변경합니다. ** (2) ** PHP를 모른다면, 안드로이드 코드를 통해 URL을 호출하고받은 응답에 따라 행동해도 상관 없습니다. – MonkeyZeus

답변

0
HttpClient httpclient; 
    int CONNECTION_TIMEOUT = 20*1000; 
    int WAIT_RESPONSE_TIMEOUT = 20*1000; 
    HttpPost httppost = new HttpPost(URL); 

    JSONObject postjson; 
    URL url = null; 
     HttpParams httpParameters = new BasicHttpParams(); 
     HttpConnectionParams.setConnectionTimeout(httpParameters, CONNECTION_TIMEOUT); 
     HttpConnectionParams.setSoTimeout(httpParameters, WAIT_RESPONSE_TIMEOUT); 
     HttpConnectionParams.setTcpNoDelay(httpParameters, true); 

     httpclient = new DefaultHttpClient(httpParameters); 


     try { 

      postjson = new JSONObject(); 
      postjson.put(your_data_here); 

      // Post the data: 
      httppost.setHeader("json", json.toString()); 
      httppost.getParams().setParameter("jsonpost", postjson); 

      // Execute HTTP Post Request 
      System.out.print(json); 
      HttpResponse response = httpclient.execute(httppost); 

      // for JSON: 
      if (response != null) 
      { 
       // do something with it 
      } 
     } catch {.....