私はthis tutorialを使用して、単純なユーザログインアクティビティを実装しています。私はPHPに新しいですし、私は間違って何をしているのか分かりません。チュートリアルでは、彼は自分のクエリのための "ロール"属性を取得する私は文字列を取得< HTML>私のコードが結果を取得している場合はそれを見てしようとしています。 ここに私のLoginActivityがあります。ここでandroidからデータベースにアクセスするためにphpを使用してクエリ結果の代わりに "<HTML>"を取得する
public class LoginActivity extends AppCompatActivity {
BufferedReader in;
private int byGetOrPost = 0;
int success = 0;
String id1 = "";
String password1 = "";
private static final String TAG_SUCCESS = "success";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Defining onClickListener for Login Button
Button loginBtn = (Button) findViewById(R.id.login_btn);
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Check credentials
EditText phone = (EditText) findViewById(R.id.phone_txt);
EditText pwd = (EditText) findViewById(R.id.password_txt);
id1 = phone.getText().toString();
password1 = pwd.getText().toString();
new SigninActivity().execute(id1, password1);
}
});
}
public class SigninActivity extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... arg0) {
if(byGetOrPost == 0){ //means by Get Method
try{
String id = (String)arg0[0];
String password = (String)arg0[1];
String link = "#######/android_connect/check_user_login.php?id="+id+"&password="+password;
URL url = new URL(link);
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(link));
HttpResponse response = client.execute(request);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line="";
while ((line = in.readLine()) != null) {
sb.append(line);
break;
}
in.close();
return sb.toString();
}
catch(Exception e){
return new String("Exception: " + e.getMessage());
}
}
}
@Override
protected void onPostExecute(String result){
TextView reg=(TextView) findViewById(R.id.register_txt);
reg.setText(result);
}
}
}
は関係なく、私が入力した資格情報、 "REG" のTextViewは常にこのテキストを示しているものの私のPHPファイルのcheck_user_login.php
<?php
$con=mysqli_connect("###.###.###.##:####","####","######","heycab");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$id= $_POST['id'];
$password = $_POST['password'];
$result = mysqli_query($con,"SELECT Role FROM tb_login where
id=$id and Password='$password'");
$row = mysqli_fetch_array($result);
$data = $row[0];
if($data){
echo $data;
}
mysqli_close($con);
?>
しかし、最終的に、です。 "< HTML" "
アクティビティで例外が発生しますか?結果をログに記録しようとしましたか? –
私のコードが例外を返して返す場合、私の "reg"テキストビューに "Exception:..."と表示されるはずです。そして、それがあなたが意味するものなら、私のアプリはクラッシュせず、強制停止しません。角括弧付きの文字列 "HTML"を表示するだけです。 –
アンドロイドを残しておきます。ブラウザを使用してPHPスクリプトをデバッグします。 Webサーバのログを見るか、エラーを有効にしてPHPスクリプトで何が間違っていたのかを確認してください。 – e4c5