android 로그인 만들기(php)

구잉·2021년 8월 9일
post-thumbnail

mysql server에 php를 이용하여 android 앱을 만들던 중

아무리 눌러도 데이터가 불러와지지 않아서..절망..
인터넷을 몇시간을 뒤져본지 모르겠다ㅠㅜㅠ

나의 첫 개발은 시작부터 무너지는구나..싶던 차에
겨우 문제 해결!!

# LoginRequset.java

import com.android.volley.AuthFailureError;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

public class LoginRequest extends StringRequest {

    final static private String URL = "http://loaclhost/userLogin.php";
    private Map<String, String> map;

    public LoginRequest(String user_id, String user_password, Response.Listener<String> listener) {
        super(Method.POST, URL, listener, null);

        map = new HashMap<>();
        map.put("user_id", user_id);
        map.put("user_password", user_password);

    }

    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        return map;
    }
}

이 코드로 했더니 데이터가 불러와지지않는거다..
성공한 방법은 localhost부분을 자신의 IPv4 주소로 바꾸는거다

그렇다면 IPv4 주소는 어디서 찾냐~

cmd - ipconfig입력 - 무선LAN 어댑더 WiFi - IPv4 주소

간단하게 찾을 수 있다ㅎㅎ
이걸로 몇시간의 삽질 끝!

참고용으로 php파일도~

# userLogin.php

<?php
    $con = mysqli_connect("loaclhost", "root", "(password)", "(database)");
    mysqli_query($con,'SET NAMES utf8');

    $user_id = $_POST["user_id"];
    $user_password = $_POST["user_password"];

    $statement = mysqli_prepare($con, "SELECT * FROM user WHERE user_id = ? AND user_password = ?");
    mysqli_stmt_bind_param($statement, "ss", $user_id, $user_password);
    mysqli_stmt_execute($statement);

   
    mysqli_stmt_store_result($statement);
    mysqli_stmt_bind_result($statement, $user_id, $user_password, $user_name, $user_age);//db

    $response = array();
    $response["success"] = false;

    while(mysqli_stmt_fetch($statement)) {
        $response["success"] = true;
        $response["user_id"] = $user_id;
        $response["user_password"] = $user_password;
        $response["user_name"] = $user_name;
        $response["user_age"] = $user_age;
      ;
    }
 
    echo json_encode($response);
?>

password와 database는 각자 자신의것으로 수정할 것!

profile
시작을 두려워하지말자

0개의 댓글