안녕하세요. 내 웹 사이트에 로그인하는 데 문제가 있습니다. 여기웹 사이트에 로그인하지 않음
<?php
session_start();
include 'api/connect.php';
$username = mysql_real_escape_string(htmlentities($_POST['username']));
$password = mysql_real_escape_string(htmlentities(sha1($_POST['password'])));
$query = mysql_query("SELECT * FROM `beta` WHERE `username` = '" . $username . "' AND `password` = '" . $password . "'") or die(mysql_query());
// Start the long process
$rows = mysql_num_rows($query);
if($rows == 1){
while($list = mysql_fetch_assoc($query)) {
$output = $list;
echo json_encode($output);
}
mysql_close();
}
?>
안드로이드 코드 : 다음은 PHP 코드는이 말을 계속 어떤 이유
package com.awsomechat;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
EditText etUser, etPass;
Button blogin;
// Username, Password
String username, password;
// Make an HTTP Client
HttpClient httpclient;
HttpPost httppost;
// Store the username and password in an array
ArrayList<NameValuePair> nameValuePairs;
// HTTP Response & Entity
HttpResponse response;
HttpEntity entity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initialise();
}
private void initialise() {
// TODO Auto-generated method stub
etUser = (EditText) findViewById(R.id.etUser);
etPass = (EditText) findViewById(R.id.etPass);
blogin = (Button) findViewById(R.id.etSubmit);
blogin.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// The user tapped the Login button, start logging in
// Default HTTPClient
httpclient = new DefaultHttpClient();
// Post the values to the AwsomeChat Login script
httppost = new HttpPost("http://beta-awsomechat.tk/login.php");
// THe values we are working with
username = etUser.getText().toString();
password = etPass.getText().toString();
// Try to login. Start the login validation/process
try {
nameValuePairs = new ArrayList<NameValuePair>();
// Store the username and password in an array
nameValuePairs.add(new BasicNameValuePair("username", username));
nameValuePairs.add(new BasicNameValuePair("password", password));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response = httpclient.execute(httppost);
if(response.getStatusLine().getStatusCode() == 200){
// Get the info given to us.
entity = response.getEntity();
if(entity != null){
InputStream instream = entity.getContent();
JSONObject jsonResponse = new JSONObject(convertStreamToString(instream));
String retUser = jsonResponse.getString("username");
String retPass = jsonResponse.getString("password");
// Start the validation process
if(username.equals(retUser) && password.equals(retPass)){
//
//
SharedPreferences sp = getSharedPreferences("logindetails", 0);
SharedPreferences.Editor spedit = sp.edit();
spedit.putString("user", username);
spedit.putString("pass", password);
//
spedit.commit();
Toast.makeText(getBaseContext(), "Login Success", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "Login Fialed.", Toast.LENGTH_SHORT).show();
}
}
}
} catch(Exception e) {
e.printStackTrace();
Toast.makeText(getBaseContext(), "Login Failed.", Toast.LENGTH_SHORT).show();
}
}
private static String convertStreamToString(InputStream is) {
/*
* To convert the InputStream to String we use the BufferedReader.readLine()
* method. We iterate until the BufferedReader return null which means
* there's no more data to read. Each line will appended to a StringBuilder
* and returned as String.
*/
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
때마다 "로그인 실패". php 코드에 오류가 없기 때문에 PHP 코드의 모든 버그를 수정했습니다. 안드로이드 코드 여야합니다. LogCat은 아무 것도 말하지 않으며 문제를 찾기가 더 어렵게 만드는 콘솔도 아닙니다.
** 편집 :
06-15 16 : 55 : 16.400을 : 나는 로그 캣에 오류가있어 E/ActivityThread (870) : 서비스 com.android.exchange.ExchangeService이 누출 된 ServiceConnection의 com.android.emailcommon .service.ServiceProxy $ ProxyConnection @ 40cfaac0 원래 여기에 바인딩되었습니다. 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : android.app.ServiceConnectionLeaked : 서비스 com.android.exchange.ExchangeService가 ServiceConnection을 유출했습니다. com.android .emailcommon.service.ServiceProxy $ ProxyConnection @ 40cfaac0 원래 여기에 바인딩되었습니다. 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : android.app.LoadedApk $ ServiceDispatcher (LoadedApk.java:969) 06 -15 16 : 55 : 16.400 : E/ActivityThread (870) :에서 droid.app.LoadedApk.getServiceDispatcher (LoadedApk.java:863) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : android.app.ContextImpl.bindService (ContextImpl.java:1418) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : android.content.ContextImpl.bindService (ContextImpl.java:1407) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : android.content. ContextWrapper.bindService (ContextWrapper.java:473) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : com.android.emailcommon.service.ServiceProxy.setTask (ServiceProxy.java:157) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : com.android.emailcommon.service.ServiceProxy.setTask (ServiceProxy.java:145) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : at com.android.emailcommon.service.ServiceProxy.test (ServiceProxy.java:191) 06-15 16 : 55 : 16.400 : E/Activi tyThread (870) : com.android.exchange.ExchangeService $ 7.run (ExchangeService.java:1850) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : com.android.emailcommon.utility.Utility $ 2.doInBackground (Utility.java:551) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : com.android.emailcommon.utility.Utility $ 2.doInBackground (Utility.java:549) 06- 15 16 : 55 : 16.400 : E/ActivityThread (870) : android.os.AsyncTask $ 2.call (AsyncTask.java:287) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : java. util.concurrent.FutureTask.run (FutureTask.java:234) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1080) 06 -15 16 : 55 : 16.400 : E/ActivityThread (870) : java.util.concurrent.ThreadPoolExecutor에서 $ Worker.run (ThreadPoolExecutor.java:573) 06-15 16 : 55 : 16.400 : E/ActivityThread (870) : java.lang.Thread.run (Thread.java:856) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : null 06-15 16 : 55 : 16.514 : E/StrictMode (870) : android.app.ServiceConnectionLeaked : 서비스 com.android.exchange.ExchangeService가 원래 있던 ServiceConnection [email protected]faac0을 유출했습니다. 여기에 바인딩 06-15 16 : 55 : 16.514 : E/StrictMode (870) : android.app.LoadedApk $ ServiceDispatcher (LoadedApk.java:969) 06-15 16 : 55 : 16.514 : E/StrictMode (870)) : android.app.LoadedApk.getServiceDispatcher (LoadedApk.java:863) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : android.app.ContextImpl.bindService (ContextImpl.java:1418) 06-15 : 16 : 55 : 16.514 : E/StrictMode (870) : android.app.ContextImpl.bindService (ContextImpl.java:1407) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : android.content.ContextWrapper.bindService (ContextWrapper.java:473) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : com.android.emailcommon.service.ServiceProxy.setTask (ServiceProxy.java:157) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : com.android.emailcommon.service.ServiceProxy.setTask (ServiceProxy.java:145) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : com. android.emailcommon.service.ServiceProxy.test (ServiceProxy.java:191) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : com.android.exchange.ExchangeService $ 7.run (ExchangeService.java:1850)) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : com.android.emailcommon.utility.Utility $ 2.doInBackground (Utility.java:551) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : at com.android.emailcommon.utility.Utility $ 2.doInBackground (Utility.java:549) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : at android.os.AsyncTask $ 2.call (AsyncTask.java:287) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : java.util.concurrent.FutureTask.run (FutureTask.java:234) E/StrictMode (870) : 06/15 16 : 55 : 16.514 : E/StrictMode (870) : java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1080) 06-15 16 : 55 : 16.514 : (ThreadPoolExecutor.java:573) 06-15 16 : 55 : 16.514 : E/StrictMode (870) : java.lang.Thread.run (Thread.java:856)에서 Worker.run을 호출합니다.) 06-15 16 : 55 : 28.370 : E/SurfaceFlinger (37) : ro.sf.lcd_density를 빌드 속성으로 정의해야합니다.
이 오류는 로그인을 보내기 위해 버튼을 누르면 항상 Log Cat에 나타납니다. 세부 정보 :
06-15 16:59:44.379 : E/SurfaceFlinger (37) : 빌드 속성으로 ro.sf.lcd_density를 정의해야합니다. **
Java 코드에서 * anything *을 디버깅 했습니까? Android 측에서 문제를 진단하려는 시도에 대한 로깅 진술이나 증거가 표시되지 않습니다. Java 코드에서 일어나는 일을 안드로이드 문제라고 확신한다면 알려주십시오. 유선에 있다고 생각하는 것을 되돌릴 수있는 도구가 많이 있습니다. –
Dave, 나는 당신이 * PHP * 코드를 의미한다고 생각하니? –
나는 3G와 WiFi를 통해 삼성 Galaxy s2에서 앱을 테스트했고 다른 Android 휴대 전화에서는 WiFi에서 Lg Optimus Elite를 테스트했습니다. 두 사람은 계속 로그인에 실패했다고 말합니다. PHP 코드가 수정되었으며 여전히 로그인 실패 메시지가 나타납니다. Android 코드가 에뮬레이터에서 디버깅되었습니다. LogCat과 콘솔을 살펴 보았습니다. 오류는 없었습니다. – Djmann1013