Java Androidコードからphp、mysqlまで、httppostを使用して認証を作成することに成功しました。ただし、新しいユーザーの作成に問題があります。他のユーザーからの複数の投稿を確認しましたが、良さそうです。また、新しいユーザーのphp作成をテストするための簡単なhtmlフォームを作成しましたが、それも機能します。
任意の考えをいただければ幸いです。これが私のJavaコードとその下のPHPです。ありがとう!
try {
// create new array list
nameValuePairs = new ArrayList<NameValuePair>();
// place them in an array list
nameValuePairs.add(new BasicNameValuePair("username", user));
nameValuePairs.add(new BasicNameValuePair("password", pass));
// add array list to http post
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// assign executed form container to response
response = httpclient.execute(httppost);
// check status code,
if (response.getStatusLine().getStatusCode() == 200) {
// assign response entity to htpp entitiy
entity = response.getEntity();
// chekc if entity is not null
if (entity != null) {
Log.i("RESPONSE",EntityUtils.toString(entity));
Intent intent = new Intent(CreateAccount.this,
MainActivity.class);
startActivity(intent);
// }
// display a taost saying login was a success
Toast.makeText(CreateAccount.this, user,
Toast.LENGTH_SHORT).show();
// }
}
}
} catch (Exception e) {
e.printStackTrace();
// display toast when there is a connection error
Toast.makeText(getBaseContext(), "ConnectionError",
Toast.LENGTH_SHORT).show();
}
PHP コード:
//get form data
$user = mysql_real_escape_string($_POST['user']);
$pass = mysql_real_escape_string($_POST['pass']);
echo "INSERT INTO androidlogin (user, pass) VALUES ('$user','$pass')";
//insert data
$insert = mysql_query("INSERT INTO androidlogin (user, pass) VALUES ('$user','$pass')");
if($insert){
$arr2 = array("user" => $user, "pass" => $pass);
echo json_encode($arr2);
}