2012-10-18 2 views
0

내가 문제가있어 ... 사용자가 등록 할 때 내 데이터베이스에 장치의 udid를 저장하려고합니다 ... logcat에서이 오류가 있습니다. 나는 데이터베이스에 UDID를 저장하기 위해 노력하고JSON + PHP + Java - 안드로이드 로그인 mysql

10-18 17:17:08.141: E/JSON(1712): <br /> 
10-18 17:17:08.141: E/JSON(1712): <b>Warning</b>: Missing argument 4 for DB_Functions::storeUser(), called in /home/matbest1/public_html/android_login_api/index.php on line 64 and defined in <b>/home/matbest1/public_html/android_login_api/include/DB_Functions.php</b> on line <b>25</b><br /> 
10-18 17:17:08.141: E/JSON(1712): {"tag":"register","success":0,"error":1,"error_msg":"Error occured in Registartion"} 
10-18 17:17:08.151: E/JSON Parser(1712): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 
10-18 17:17:08.381: D/dalvikvm(1712): GC_CONCURRENT freed 296K, 5% free 9394K/9799K, paused 2ms+4ms 

... 을 heres registeractivity :

public JSONObject registerUser(String name, String email, String password, String uid){ 
    // Building Parameters 
    List<NameValuePair> params = new ArrayList<NameValuePair>(); 
    params.add(new BasicNameValuePair("tag", register_tag)); 
    params.add(new BasicNameValuePair("name", name)); 
    params.add(new BasicNameValuePair("email", email)); 
    params.add(new BasicNameValuePair("password", password)); 
    params.add(new BasicNameValuePair("uid", uid)); 

    // getting JSON Object 
    JSONObject json = jsonParser.getJSONFromUrl(registerURL, params); 
    // return json 
    return json; 
} 

등록 :

UserFunctions userFunction = new UserFunctions(); 
      JSONObject json = userFunction.registerUser(name, email, password, uid); 
,

PHP 코드 :

public function storeUser($name, $email, $password, $uid) { 
    $uuid = $uid; 
    $hash = $this->hashSSHA($password); 
    $encrypted_password = $hash["encrypted"]; // encrypted password 
    $salt = $hash["salt"]; // salt 
    $result = mysql_query("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at) VALUES('$uuid', '$name', '$email', '$encrypted_password', '$salt', NOW())"); 
    // check for successful store 
    if ($result) { 
     // get user details 
     $uid = mysql_insert_id(); // last inserted id 
     $result = mysql_query("SELECT * FROM users WHERE uid = $uid"); 
     // return user details 
     return mysql_fetch_array($result); 
    } else { 
     return false; 
    } 
} 

&

if ($tag == 'register') { 
     // Request type is Register new user 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $password = $_POST['password']; 
     $uid = $_POST['uid']; 

     // check if user is already existed 
     if ($db->isUserExisted($email)) { 
      // user is already existed - error response 
      $response["error"] = 2; 
      $response["error_msg"] = "User already existed"; 
      echo json_encode($response); 
     } else { 
      // store user 
      $user = $db->storeUser($name, $email, $password); 
      if ($user) { 
       // user stored successfully 
       $response["success"] = 1; 
       $response["uid"] = $user["unique_id"]; 
       $response["user"]["name"] = $user["name"]; 
       $response["user"]["email"] = $user["email"]; 
       $response["user"]["created_at"] = $user["created_at"]; 
       $response["user"]["updated_at"] = $user["updated_at"]; 
       echo json_encode($response); 
      } else { 
       // user failed to store 
       $response["error"] = 1; 
       $response["error_msg"] = "Error occured in Registartion"; 
       echo json_encode($response); 
      } 
     } 
    } else { 
     echo "Invalid Request"; 
    } 
} else { 
    echo "Access Denied"; 
} 

누군가가 나를 도울 수 있습니까? 나는 이것에 새로운 ... 고마워.

서버 응답이 HTML에 표시되는 PHP 오류가 있습니다
+0

'java.lang.String 유형의 값

+0

우디드를 파싱 할 때 잘못 되었나요? – matteo

+0

오류 메시지를 읽습니다. 그것은 문자열'
을 던져 버리는데, 아마도 이것은 '
' 태그의 시작일 것입니다. JSON에서는'
'태그가 합법적이지 않으므로 분명히 잘못된 것입니다. JSON을 살펴보십시오. –

답변

1

는 ..

그래서 당신이 안드로이드 응용 프로그램은 어떤 JSON을 구문 분석 할 수있는 정상

..

, 당신은 확신 할 것과

우선 필요 안드로이드 $ UID

PHP 있는지 확인하기 위해 귀하의 PHP 파일의 시작 부분에 print_r($_REQUEST); 을보십시오 : 응용 프로그램은 필요한 모든 정보를 (4 개 매개 변수 PHP가 기다리고)는 PHP 오류 clealry 당신을 알려주기 때문에이 매개 변수 # 4 결여 전송 모든 매개 변수를 수신 .. 그렇지 않은 경우 : prob 흠은 안드로이드 응용 프로그램에 있습니다 (uid는 String입니까? 정수? 변환 할 필요가 있습니까?)