2017-03-11 7 views
0

私はPHPを使用しているテーブルに私のアンドロイドアプリケーションを接続するためのテーブル(ログイン登録)を維持する必要があるアプリケーションを作成しています。詳細は何の問題もなくDBに毎回入力されているPHPからアンドロイドに適切な返信を受け取ることができません

 try { 
      JSONObject jsonResponse = new JSONObject(response); 
       boolean success = jsonResponse.getBoolean("success"); 
       if (success) { 
      Intent intent = new Intent(RegisterActivity.this, Login.class); 
      RegisterActivity.this.startActivity(intent); 
     } else if(!success) 
     { JSONObject jsonResponse2 = new JSONObject(response); 
      String errval = new String(); 
     errval=jsonResponse2.getString("errval"); 
     AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this); 
     builder.setMessage(errval) 
     .setNegativeButton("retry", null) 
      .create() 
      .show(); 
    } 
    } catch (JSONException e) { 
    e.printStackTrace(); 
    Toast.makeText(getApplicationContext(), "Error submitting registration", Toast.LENGTH_SHORT).show(); 
        } 


    PHP code:- 
    require 'config.php'; 
    $file = 'outfile.txt'; 
    if ($_POST) { 
file_put_contents($file,"~~~~~~~~~~~~~~~~~~~~\n"); 
foreach ($_POST as $KEY => $VAL) { 
    file_put_contents($file,$KEY."=>".$VAL."\n", FILE_APPEND); 
      } 
if (@$_POST["Email_id"] and @$_POST["hash"]) { 
    $email = strtolower($_POST["Email_id"]); 
    $username = strtolower($_POST["Username"]); 
    $hash = $_POST["hash"]; 
    $echk = $my->Execute("select count(*) from users where email = '$email'"); 
    if ($echk->fields[0] == 0) { 
     $uchk = $my->Execute("select count(*) from users where user = '$username'"); 
     if ($uchk->fields[0] == 0) { 
      $ins = $my->Execute("insert into users values (default,'$username','$email','$hash',default)"); 
      $error["success"] = true; 
      $error["errval"] = "success"; 
      file_put_contents($file,"success", FILE_APPEND); 
     } else { 
      $error["success"] = false; 
      $error["errval"] = "User: $username already exists"; 
     } 
    } else { 
     $error["success"] = false; 
     $error["errval"] = "Email: $email already exists"; 
    } 
    } else { 
    $error["errval"] = "Missing a key: 'Email_id' or 'hash'"; 
    } 
    file_put_contents($file,"~~~~~~~~~~~~~~~~~~~~\n", FILE_APPEND); 
    $json = json_encode($error); 
     print_r($json); 
} 
     ?> 

Androidのコードは、コードも電子メールがaldreadyテーブル内の既存のであれば示していますが、登録が成功している場合は、アプリが例外をスローする登録を送信中にエラーが発生しました問題がどこにあるのか把握できません ありがとうございます。 PS。私はまだ学習をStackOverflowのために新しいです、

+0

は、見当識障害のために申し訳ありませんコードをタグ付けいくつかの問題があった記事で間違いがある場合は許して。 –

+0

Webブラウザを介してPHPコードにリクエストを手渡してください。エラーメッセージが返ってくるのを確認することができます。また、PHPログでエラーを調べます。 –

+0

また、 'e.printStackTrace()'は、Android Studioからデバッグしているときに多くのヒントを投げます。 –

答えて

0
if (@$echk->fields[0] == 0) { 
     $uchk = $my->Execute("select count(*) from users where user = '$username'"); 
     if (@$uchk->fields[0] == 0) { 
      $ins = $my->Execute("insert into users values (default,'$username','$email','$hash',default)"); 
      $error["success"] = true; 
      $error["errval"] = "success"; 
      file_put_contents($file,"success", FILE_APPEND); 
forgot @ in if condition 
関連する問題