회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


회원가입 + 로그인 스크립트 (with Unity)

푸딩뱃살 | 2015.12.06 17:31 | 조회 12245
PHP 회원가입 + 로그인 스크립트

*유니티 스크립트는 '게임에 로그인 붙이기' 유니티팩키지 파일 확인

login.php - 로그인
<?php
    // 로그인

    // 확인 / 로그인
    $user_id = $_POST["user_id"];
    $user_pw = $_POST["user_pw"];

    // 응답 딕셔너리 생성
    $res_data = array(
        'RESULT' => "EMPTY_ACCOUNT");

    // 아이디와 비번 중에 빈값이 있다면 회원 가입 실패
    if (!($user_id && $user_pw)){
        echo json_encode($res_data);
        exit();
    }

    $loginDate = date("Y-m-d H:i:s");

    // 1.mysql 데이터베이스 연결
    $connect = mysqli_connect("localhost","game","db패스워드","project") or 
        die("Error".mysqli_error($connect));

    // 2.계정 조회 쿼리 작성
    $sql = "SELECT * FROM gam_tb WHERE id='".$user_id."' && pw='".$user_pw."';";

    // echo "sql = ".$sql;
    // 3.쿼리 실행
    $result = mysqli_query($connect, $sql);

    // 로그인 날짜 기록
    $sql = "UPDATE gam_tb SET login_date='".$loginDate."' WHERE id='".$user_id."';";
    mysqli_query($connect, $sql);

    // $result->num_rows 조회 경과의 수로 판단
    if($result->num_rows > 0) {
        while($row = mysqli_fetch_assoc($result)){
            $res_data["INFO"] = $row;
        }
        $res_data["RESULT"] = "LOGIN_SUCCESS";
    }
    else {
        $res_data["RESULT"] = "LOGIN_FAIL";
    }
    echo json_encode($res_data);

    mysqli_close($connect);
?>

join.php - 가입
<?php
    // 가입

    // 한글, 특수문자 체크 함수 참조
    // include ("idcheck.php");

    // 에러 메세지 출력 하기 및 설정 http://ra2kstar.tistory.com/102
    error_reporting(E_ALL);
    ini_set("display_errors", 0);

    $user_id = $_POST["user_id"];
    $user_pw = $_POST["user_pw"];
    // 응답 딕셔너리 생성
    $res_data = array('RESULT' => "EMPTY_ACCOUNT");
    
    // 아이디와 비번 중에 빈 값이 있다면 회원 가입 실패
    if (!($user_id && $user_pw)){
        echo json_encode($res_data);
        exit();
    }

    $joinDate = date("Y-m-d H:i:s");

    // 한글, 특수 문자 체크

    // 1. mysql 데이터베이스 연결
    $connect = mysqli_connect("localhost", "game", "db패스워드","project") or
                die("Error".mysql_error($connect)); // 연결 실패시 종료

    // 2. 회원정보를 데이터베이스에 추가하는 쿼리를 작성
    $sql = "INSERT INTO gam_tb (id, pw, join_date) VALUES ('".$user_id."', '".$user_pw."', '".$joinDate."');";

    // 3. mysql 쿼리를 포함한 요청을 보냄
    // echo "sql => ".$sql;
    mysqli_query($connect, $sql);

    // 4. mysql에 요청한 쿼리에 응답을 받음
    $result = mysqli_affected_rows($connect);

    // 응답 결과를 딕셔너리로
    if ($result > 0) {
        $res_data["RESULT"] = "JOIN_SUCCESS";
    } else {
        $res_data["RESULT"] = "JOIN_FAIL";
    }

    // json으로 출력
    echo json_encode($res_data);
    mysqli_close($connect);
?>

idcheck.php - id 체크
<?php
    // 아이디 중복 확인

    // 확인 / 로그인
    $user_id = $_POST["user_id"];

    // 응답 딕셔너리 생성
    $res_data = array(
        'RESULT' => "EMPTY_ACCOUNT");

    // 아이디와 비번 중에 빈값이 있다면 회원 가입 실패
    if (!($user_id)){
        echo json_encode($res_data);
        exit();
    }

    // 1.mysql 데이터베이스 연결
    $connect = mysqli_connect("localhost","game","db패스워드","project") or
                die("Error".mysqli_error($connect));

    // 2.계정 조회 쿼리 작성
    $sql = "SELECT * FROM gam_tb WHERE id='".$user_id."';";

    // echo "sql = ".$sql;
    // 3.쿼리 실행
    $result = mysqli_query($connect, $sql);

    // 중복된 아이디 있음
    if($result->num_rows > 0) {
        $res_data["RESULT"] = "JOIN_DENY";
    }
    else {
        // 가입 허용
        $res_data["RESULT"] = "JOIN_ALLOW";
    }

    echo json_encode($res_data);

    mysqli_close($connect);
?>

update.php - gold 필드 수정
<?php
    // 스코어 업데이트

    // POST 방식으로 아이디와 비번을 입력 받음
    $user_id = $_POST["user_id"];
    $gold = $_POST["gold"];

    // 응답 딕셔너리 생성
    $res_data = array(
        'RESULT' => "EMPTY_UPDATE_VALUE");
    
    // 아이디와 비번 중에 빈 값이 있다면 실패
    if (!($user_id && $gold)){
        echo json_encode($res_data);  // 클라이언트에게 전송하기 위해 
        exit();  // php 프로세스 정료
    }

    // 1. mysql 데이터베이스 연결
    $connect = mysqli_connect("localhost", "game", "db패스워드","project") or
        die("Error".mysql_error($connect)); // 연결 실패시 종료

    // 2. 회원정보를 데이터베이스에 추가하는 쿼리를 작성
    $sql = "UPDATE gam_tb SET gold=".$gold." WHERE id='".$user_id."';";

    // 3. mysql 쿼리를 포함한 요청을 보냄
    //echo "sql => ".$sql;
    mysqli_query($connect, $sql);

    // 4. mysql에 요청한 쿼리에 응답을 받음
    $result = mysqli_affected_rows($connect);  // 쿼리 성공 레코드 갯수

    // 응답 딕셔너리에 결과 수정
    if ($result > 0) {
        $res_data["RESULT"] = "SCORE_UPDATE_SUCCESS";
    } else {
        $res_data["RESULT"] = "UPDATE_FAIL";
    }

    echo json_encode($res_data);
    mysqli_close($connect);
?>

delete.php - 계정 삭제
<?php
    // 계정 삭제

    // POST 방식으로 아이디 입력받음
    $user_id = $_POST["user_id"];

    // 응답 딕셔너리 생성
    $res_data = array(
        'RESULT' => "EMPTY_ACCOUNT");
    
    // 아이디 빈 값이 있다면 회원 가입 실패
    if (!$user_id){
        echo json_encode($res_data);  // 클라이언트에게 전송하기 위해 
        exit();  // php 프로세스 정료
    }

    // 1. mysql 데이터베이스 연결
    $connect = mysqli_connect("localhost", "game", "db패스워드","project") or
        die("Error".mysql_error($connect)); // 연결 실패시 종료

    // 2. 회원정보를 데이터베이스에 삭제하는 쿼리를 작성
    $sql = "DELETE FROM gam_tb WHERE id='".$user_id."';";

    // 3. mysql 쿼리를 포함한 요청을 보냄
    mysqli_query($connect, $sql);

    // 4. mysql에 요청한 쿼리에 응답을 받음
    $result = mysqli_affected_rows($connect);  // 쿼리 성공 레코드 갯수

    // 응답 딕셔너리에 결과 수정
    if ($result > 0) {
        $res_data["RESULT"] = "SECESSION_SUCCESS";
    } else {
        $res_data["RESULT"] = "SECESSION_FAIL";
    }

    echo json_encode($res_data);
    mysqli_close($connect);
?>

charcheck.php - 참고) 한글/특수문자 체크
<?php
// https://www.xpressengine.com/tip/22635873
// ********** 파라미터값 규칙 설정 함수 *****************/
function addParamRule($obj, $rule){
 
  $chk = 1;
  $obj = trim($obj);
 
  if($obj){

    //한글체크
    if(!eregi("kr", trim($rule))){
      if(preg_match("/[\xA1-\xFE\xA1-\xFE]/", $obj)) $chk = 0;
    }
  
    //영문체크
    if(!eregi("en", trim($rule))){
      if(preg_match("/[a-zA-Z]/", $obj)) $chk = 0;
    }
  
    //숫자체크
    if(!eregi("int", trim($rule))){
      if(preg_match("/[0-9]/", $obj)) $chk = 0;
    }

    //특수문자체크
    if(!eregi("special", trim($rule))){
      if(preg_match("/[!#$%^&*()?+=\/]/", $obj)) $chk = 0;
    }

    //echo $obj.":".$rule.":".$chk." // ";

    if($chk != 1) {
      echo "'".$obj."' 값에 금지된 문자가 포함되어 있습니다.";
      exit;
    }
  }
}
?>
285개(6/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
>> [PHP] 회원가입 + 로그인 스크립트 (with Unity) [2+1] 푸딩뱃살 12246 2015.12.06 17:31
184 [C#] C# 추천 서적 푸딩뱃살 1325 2015.12.06 17:16
183 [C/C++] C++ 참고 사이트 푸딩뱃살 1184 2015.12.04 16:13
182 [PHP] 클래스 푸딩뱃살 3583 2015.12.04 14:40
181 [PHP] CodeIgniter(코드이그나이트) 첨부파일 푸딩뱃살 2936 2015.12.04 14:40
180 [C#] Delegate (델리게이트) (with Unity) 푸딩뱃살 6268 2015.12.01 10:44
179 [PHP] php 함수 푸딩뱃살 2219 2015.11.30 15:33
178 [PHP] Dictionary (딕셔너리) 첨부파일 푸딩뱃살 2870 2015.11.27 12:37
177 [PHP] 배열 푸딩뱃살 2171 2015.11.27 12:37
176 [PHP] 변수 선언 / 산술 연산 푸딩뱃살 2184 2015.11.27 11:14
175 [C#] Dictionary (딕셔너리) (with Unity) 첨부파일 [3+3] 푸딩뱃살 14486 2015.11.25 10:29
174 [C#] List (리스트) (with Unity) 첨부파일 푸딩뱃살 12090 2015.11.24 10:22
173 [C#] Generic (제네릭) (with Unity) 푸딩뱃살 4891 2015.11.22 12:32
172 [C/C++] Templete (템플릿) 푸딩뱃살 2047 2015.11.22 12:15
171 [C#] 키보드 입력 푸딩뱃살 3572 2015.11.21 18:00
170 [C#] 예외와 예외 처리 푸딩뱃살 4127 2015.11.21 17:39
169 [C#] Struct (구조체) (with Unity) 푸딩뱃살 5128 2015.11.18 22:08
168 [C#] Property (프로퍼티) (with Unity) 푸딩뱃살 2444 2015.11.18 10:50
167 [C#] interface (인터페이스) (with Unity) 첨부파일 푸딩뱃살 3309 2015.11.15 17:32
166 [C#] 스트림 (stream) - 문자, 바이너리 읽기/쓰기 푸딩뱃살 12791 2015.11.14 18:24