JSON情報をWebサービスに送信して情報を検証するAndroidアプリケーションがあります。Web サービスのエディターとして Kate を使用しています。JSON および php Web サービスの概念は、私にとって新しいものです。私は通常Javaでコーディングします。
JSONObject jsonObject = new JSONObject();
String userID = "";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(loginURI);
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 10000);
HttpConnectionParams.setSoTimeout(httpParams,10000);
try {
jsonObject.put("username", username);
Log.i("username", jsonObject.toString());
jsonObject.put("password", password);
Log.i("password", jsonObject.toString());
StringEntity stringEntity = new StringEntity(jsonObject.toString());
stringEntity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
userID = EntityUtils.toString(httpResponse.getEntity());
Log.i("Read from server", userID);
}
}catch (IOException e){
Log.e("Login_Issue", e.toString());
}catch (JSONException e) {
e.printStackTrace();
}
return userID;
}
StringEntity コードをオンラインで見つけて、うまくいくと思いました。HttpPost の StringEntity の目的がわかりません。
これはphpで書かれた私のWebサービスです。
include('dbconnect.php');
$tablename = 'users';
//username and password sent from android
$username=$_POST['myusername'];
$password=$_POST['mypassword'];
//protecting mysql injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
#$array = array($username,$password);
$sql = "SELECT first_name FROM $tablename WHERE u_username='$username' AND u_password=MD5('$password')";
//Querying the database
$result=mysql_query($sql);
if(!$result){
die(mysql_error();
}
//If found, number of rows must be 1
if((mysql_num_rows($result))==1){
//creating session
session_register("$username");
session_register("$password");
print true;
}else{
print false;
}
mysql_close();
「ユーザー名」と「パスワード」がAndroidアプリからWebサービスに正しく送信されているかどうかはよくわかりません。どうすればこれを確認できますか? また、Web サービスと Java コードは、JSON で情報を送信するように適切に記述されていますか?
ブラウザで Web サービスにアクセスすると、次のエラーが表示されます: Parse error: parse error in E:\wamp\www\mobile.dcl.mu\webserver\login.php on line 24
前もって感謝します。