2011-09-05 1 views
-1

사용자 입력을 받아들이는 앱이 있고 LogCat에 따르면 앱이 HTTP Post. 그러나 내 데이터가 데이터베이스에 나타나지 않습니다. 그래서 내 PHP 코드의 이슈를 생각하고 있지만, 내가 잘못했는지 전혀 모른다. 나는 안드로이드 개발을 처음 접했고, 내가 생각해 낸 연구는 아마도 JSON 객체를 사용했을 것이다. 나는 몇 가지 예를 찾아 보도록 노력했지만 오류가 계속 발생했습니다. 어떤 도움을 주시면 감사하겠습니다 :) 여기에 PHP가 도울 수 있기를 바랍니다 :) 내 코드 &의사용자가 입력을 받아 서버로 푸시하고 PHP가 mySQL에 삽입하지만 PHP가 올바르게 처리하지 않습니다. 내 가정입니다.

private class GrabURL extends AsyncTask<String, Void, Void> { 
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();; 
private ProgressDialog Dialog = new ProgressDialog(HTTPpostActivity.this); 
protected void onPreExecute() { 
Dialog.setMessage("Sending value.."); 
Dialog.show(); 
nameValuePairs.add(new BasicNameValuePair("fname","Donald")); 
nameValuePairs.add(new BasicNameValuePair("lname", "Android")); 
nameValuePairs.add(new BasicNameValuePair("phone", "502-409-5478")); 
nameValuePairs.add(new BasicNameValuePair("partyNum", "10")); 
nameValuePairs.add(new BasicNameValuePair("date", "2011-09-09")); 
nameValuePairs.add(new BasicNameValuePair("time", "4:40")); 
} 

protected Void doInBackground(String... urls) { 
try{ 
HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(url); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
httpclient.execute(httppost); 
}catch(Exception e){ 
Log.e("log_tag", "Error in http connection "+e.toString()); 
} 
return null; 
} 

PHP :

<?PHP 

$link = mysql_connect($host, $username, $password) or die("Connection ERROR"); 

$db = mysql_select_db("$db_name") or die ("CONNECTION ERROR"); 

$resTime = $_GET['time']; 
$fname = $_GET['fname']; 
$lname = $_GET['lname']; 
$phone = $_GET['phone']; 
$date = $_GET['date']; 
$partyNum = $_GET['partyNum']; 



$query = "INSERT INTO RESERVATION (DATE, FNAME, LNAME, NUMBERINPARTY, RESOTIME, PHONENUMBER) VALUES ('" .$date. "', '" .$fname. "', '" .$lname. "', '" .$partyNum. "', '" .$resTime. "', '" .$phone. "');"; 
?> 
+1

PHP 오류를 켜고 Apache 로그를 확인하고 스크립트의 모든 요청 데이터를 파일 로깅을 시작하십시오. 관련 정보가 없다면 디버깅 할 수있는 방법이 없습니다. * 저희는 말할 것도 없습니다. –

+2

음, 어디서나 검색어를 실행하지 않으시겠습니까? –

+0

또한 POST 값에 대한 GET 변수를 확인 중입니다 ... – mwan

답변

1

사용하려고하는 방법은 HttpPost입니다. php 파일에서 GET 메소드를 사용하여 다음과 같은 post 메소드를 사용하려고 시도합니다.

<?PHP 

$link = mysql_connect($host, $username, $password) or die("Connection ERROR"); 

$db = mysql_select_db("$db_name") or die ("CONNECTION ERROR"); 

$resTime = $_POST['time']; 
$fname = $_POST['fname']; 
$lname = $_POST['lname']; 
$phone = $_POST['phone']; 
$date = $_POST['date']; 
$partyNum = $_POST['partyNum']; 



$query = "INSERT INTO RESERVATION (DATE, FNAME, LNAME, NUMBERINPARTY, RESOTIME, PHONENUMBER) VALUES ('" .$date. "', '" .$fname. "', '" .$lname. "', '" .$partyNum. "', '" .$resTime. "', '" .$phone. "');"; 
?> 
관련 문제