[안드로이드] 회원가입, 로그인 구현하기 (3) - 데이터베이스 생성 및 연동

이현경·2020년 9월 5일
0

안드로이드

목록 보기
3/6

이번에는 데이터베이스 생성 및 연동에 대해 알아보겠습니다.

데이터베이스를 생성하기 위해 phpmyadmin에 접속해야 합니다.
접속하는 방법은 주소창에 'http://ftp아이디.dothome.co.kr/myadmin' 를 입력하시면 됩니다.

위와 같은 화면이 뜨면 닷홈에서 만든 계정으로 로그인 합니다.

로그인 하면 위와 같은 화면이 나오는데
SQL을 선택하여 쿼리문을 작성합니다.

이 화면에서 쿼리문을 작성해주면 됩니다.
테이블 명은 마음대로 작성하셔도 됩니다.
저는 회원 정보를 담는 테이블을 생성하기 때문에 USER 라고 이름을 짓겠습니다.

# DATEBASE

CREATE TABLE USER (
	UserEmail VARCHAR(50) NOT NULL,
    UserPwd VARCHAR(50) NOT NULL,
    UserName VARCHAR(50) NOT NULL,
    CONSTRAINT PRIMARY KEY(UserEmail)
);

저는 회원의 아이디(이메일), 비밀번호, 이름 3가지 칼럼만 생성하였습니다.
각자 필요한 칼럼을 생성하시면 됩니다.

실행 버튼을 누르면 위와 같이 테이블이 생성된 것을 확인할 수 있습니다.

이제 PHP를 작성해보겠습니다.
php를 작성하는 프로그램을 다운받아야 하는데 Brackets라는 툴을 다운받아 보겠습니다.
구글에 검색하시면 아래와 같은 화면이 나옵니다.

상위에 있는 것을 눌러도 좋고, 그 아래에 있는 것을 눌러도 다운받을 수 있습니다.
가장 위에 있는 링크를 클릭하면

위와 같은 페이지가 나옵니다. 다운로드 버튼을 클릭하여 설치를 진행합니다.

프로그램을 실행한 모습입니다.
이 프로그램을 사용하여 Login.php와 Register.php, UserValidate.php를 코딩하겠습니다.

# Login.php (로그인)

<?php
    $con = mysqli_connect("localhost", "ftp아이디", "ftp비번", "ftp아이디");
    mysqli_query($con,'SET NAMES utf8');
 
    $UserEmail = $_POST["UserEmail"];
    $UserPwd = $_POST["UserPwd"];
    
    $statement = mysqli_prepare($con, "SELECT * FROM USER WHERE UserEmail = ? AND UserPwd = ?");
    mysqli_stmt_bind_param($statement, "ss", $UserEmail, $UserPwd);
    mysqli_stmt_execute($statement);
 
 
    mysqli_stmt_store_result($statement);
    mysqli_stmt_bind_result($statement, $UserEmail, $UserPwd, $UserName);
 
    $response = array();
    $response["success"] = true;
 
    while(mysqli_stmt_fetch($statement)) {
        $response["success"] = true;
        $response["UserEmail"] = $UserEmail;
        $response["UserPwd"] = $UserPwd;
        $response["UserName"] = $UserName;      
    }
 
    echo json_encode($response);
?>

Register.php (회원가입)

<?php 
    $con = mysqli_connect("localhost", "ftp아이디", "ftp비밀번호", "ftp아이디");
    mysqli_query($con,'SET NAMES utf8');
 
    $UserEmail = $_POST["UserEmail"];
    $UserPwd = $_POST["UserPwd"];
    $UserName = $_POST["UserName"];
 
    $statement = mysqli_prepare($con, "INSERT INTO USER VALUES (?,?,?)");
    mysqli_stmt_bind_param($statement, "sss", $UserEmail, $UserPwd, $UserName);
    mysqli_stmt_execute($statement);
 
 
    $response = array();
    $response["success"] = true;
 
   
    echo json_encode($response);
?>

UserValidate.php (아이디 중복 확인)

<?php
    $con = mysqli_connect('localhost', 'ftp아이디', 'ftp비밀번호', 'ftp아이디');

    $UserEmail = $_POST["UserEmail"];
    $UserPwd = $_POST["UserPwd"];

    $statement = mysqli_prepare($con, "SELECT UserEmail FROM USER WHERE UserEmail = ?");

    mysqli_stmt_bind_param($statement, "s", $UserEmail);
    mysqli_stmt_execute($statement);
    mysqli_stmt_store_result($statement);
    mysqli_stmt_bind_result($statement, $userID);

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

    while(mysqli_stmt_fetch($statement)){
      $response["success"] = false;
      $response["UserEmail"] = $UserEmail;
    }

    echo json_encode($response);
?>

코드를 입력하고 저장한 뒤에 파일질라에 있는 html 폴더에 업로드하면 됩니다.

다음 포스팅에선 서버와 안드로이드와의 연동하는 방법을 설명하겠습니다.

profile
25. 컴퓨터학과 졸업 / SQLD, 정보처리기사 취득

0개의 댓글