로그인 할 때 안드로이드에서 PHP로 값을 보내는 것과 PHP에서 안드로이드로 값을 받는 과정이 안 됩니다.
또 로그인 후 화면을 이동하려고 하는데 onPostExecute(String aVoid)에서 aVoid를 기준으로 값을 비교하여 맞을 경우 화면을 이동시키고 아니면 toast 메시지를 띄우려고 하는데 이 부분도 맞는지 봐주시면 감사하겠습니다 ㅠㅠ!
사소한 부분이라도 조언 부탁드려요!
< php 코드 >
<?php
$con=mysqli_connect("localhost","root","1234","teamProject");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$ID = $_GET[ID];
$PW = $_GET[PW];
$sql = "SELECT userPW FROM USERINFORMATION where userID='".$ID."'";
$result = mysqli_query($con, $sql);
$row = mysqli_fetch_array($result);
$data = $row[0];
if(strcmp($data, $PW)){
echo "0"; // 다르다
}
else{
echo "1"; // 같다
}
mysqli_close($con);
?>
<안드로이드 코드>
public class LoginActivity extends AppCompatActivity {
private EditText user_ID, user_PW;
String userID, userPW, stan;
private String xml;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity);
user_ID = (EditText) findViewById(R.id.insert_ID);
user_PW = (EditText) findViewById(R.id.insert_PW);
}
public void login(View v) {
userID = user_ID.getText().toString();
;
userPW = user_PW.getText().toString();
;
phpdo task = new phpdo();
task.execute(userID, userPW);
}
private class phpdo extends AsyncTask<String, Void, String> {
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... arg0) {
try {
String link = "http://172.30.1.1/PHP_connection.php+ID=" + userID + "&PW=" + userPW;
//http://172.30.1.1/PHP_connection.php+ID=dkdk&PW=dkdkaa;
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());
}
}
protected void onPostExecute(String aVoid) {
super.onPostExecute(aVoid);
//stan = aVoid.toString();
if (aVoid.equals("1")) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
}
}