회원가입 API

회원가입 API

QA

회원가입 API

본문

회원가입을 외부에서 xml코드로 가입을 시키려고 합니다. 파라미터 값은 reg이고 register.php 파일로 읽어드립니다. 

 

{hostname}/api/users/register?reg=

 

API를 통해서 POST 방식으로 최소 정보로 임의 가입 형태를 구현하고, 향후 구현 뒤에 직접 로그인해서 나머지 값들을 업데이트 하는 방식입니다. 

 

 

다만 다음과 같이 데이터를 받았는데, 그누보드의 처음화면으로 강제로 넘어가는 것 같습니다.

혹시 어느 부분을 수정해야할까요? 

 


<?php
include_once("../../common.php");
 
if(!in_array('application/x-www-form-urlencoded',explode(';',$_SERVER['CONTENT_TYPE']))){
    echo json_encode(array('result_code' => '400'));
    exit;
    }
    $arr = $_POST ? $_POST : $_GET;
    foreach($arr as $key => $value) {
        ${$key} = $value;
    }
    $data = json_decode(stripslashes($_POST['reg']), true);
// stripslashes 는 \ 제거 필요시  사용
 
        $mb_id = $data['mb_id'];
        $mb_password = get_encrypt_string($data['mb_password']);
        $mb_name = $data['mb_name'];
        $mb_hp = $data['mb_hp'];
        $mb_email = $data['mb_email'];
        $mb_1 = $data['mb_1'];
        $mb_level = '2';
        $mb_datetime = '".G5_TIME_YMDHIS."';
        $mb_3 = 'postReguser';
 
       
$user_add = "INSERT INTO g5_member
            (
                mb_id,
                mb_password,
                mb_name,
                mb_hp,
                mb_email,
                mb_1,
                mb_level,
                mb_datetime,
                mb_3
            )
            VALUES
            (
                $mb_id,
                $mb_password,
                $mb_name,
                $mb_hp,
                $mb_email,
                $mb_1,
                $mb_level,
                $mb_datetime,
                $mb_3
            )
        ";
        $insert_d_success = sql_query($user_add);
        $user_account = sql_insert_id();
?>
 

이 질문에 댓글 쓰기 :

답변 4

혹시 쿼리 내에서 문자열에 쿼테이션 ( ' ) 안넣은게 문제는 아닐지 ..ㅎㅎ

[03-Feb-2022 14:22:41 Asia/Seoul] PHP Warning:  include_once(./_common.php): failed to open stream: No such file or directory in /home/project/localhost:8000/bbs/alert.php on line 5
[03-Feb-2022 14:22:41 Asia/Seoul] PHP Warning:  include_once(): Failed opening './_common.php' for inclusion (include_path='.:/opt/alt/php72/usr/share/pear') in /home/project/localhost:8000/bbs/alert.php on line 5
[03-Feb-2022 14:22:41 Asia/Seoul] PHP Warning:  Use of undefined constant G5_JS_VER - assumed 'G5_JS_VER' (this will throw an Error in a future version of PHP) in /home/project/localhost:8000/theme/adminlte2.4.5/head.sub.php on line 87
[03-Feb-2022 14:22:41 Asia/Seoul] PHP Fatal error:  Uncaught Error: Call to a member function run() on null in /home/project/localhost:8000/lib/common.lib.php:2499
Stack trace:
#0 /home/project/localhost:8000/theme/adminlte2.4.5/tail.sub.php(63): html_end()
#1 /home/project/localhost:8000/tail.sub.php(5): require_once('/home/project/...')
#2 /home/project/localhost:8000/bbs/alert.php(116): include_once('/home/project/...')
#3 /home/project/localhost:8000/lib/common.lib.php(179): include_once('/home/project/...')
#4 /home/project/localhost:8000/extend/signup_no.php(5): alert('\xEA\xB4\x80\xEB\xA6\xAC\xEC\x9E\x90\xEA\xB0\x80 \xEB\x93...', 'https://localho...')
#5 /home/project/localhost:8000/common.php(788): include_once('/home/project/...')
#6 /home/project/localhost:8000/api/users/register.php(2): include_once('/home/project/...')
#7 {main}
  thrown in /home/project/localhost:8000/lib/common.lib.php on line 2499

생성된 error log에는 다음과 같은데, 보니까 common.php를 못 읽는 것 같은데, 위 root폴더 api폴더 users폴더 내 register.php가 있어서 ../../common.php <--요게 맞는 것 같은데.. 왜 못읽는지는 모르겠습니다.

다만 다음과 같이 데이터를 받았는데, 그누보드의 처음화면으로 강제로 넘어가는 것 같습니다.

==

브라우저에서

{hostname}/api/users/register?reg=

직접 열어 보신 건가요?

API로 하는 경우 페이지 이동하는 부분이 없을 텐데요.

common.php 파일이 있는지 폴더를 확인해 보세요.

../../../
../../
둘다 테스트 해봤지만.. include once가  안됩니다. ㅠ

[04-Feb-2022 05:02:08 UTC] PHP Warning:  include_once(../../../common.php): failed to open stream: No such file or directory in /home/project/localhost/api/users/register.php on line 2
[04-Feb-2022 05:02:08 UTC] PHP Warning:  include_once(): Failed opening '../../../common.php' for inclusion (include_path='.:/opt/alt/php72/usr/share/pear') in /home/project/localhost/api/users/register.php on line 2
[04-Feb-2022 05:02:08 UTC] PHP Notice:  Undefined index: CONTENT_TYPE in /home/project/localhost/api/users/register.php on line 9
[04-Feb-2022 05:04:09 UTC] PHP Warning:  include_once(../../../common.php): failed to open stream: No such file or directory in /home/project/localhost/api/users/register.php on line 2
[04-Feb-2022 05:04:09 UTC] PHP Warning:  include_once(): Failed opening '../../../common.php' for inclusion (include_path='.:/opt/alt/php72/usr/share/pear') in /home/project/localhost/api/users/register.php on line 2
[04-Feb-2022 05:04:09 UTC] PHP Notice:  Undefined index: CONTENT_TYPE in /home/project/localhost/api/users/register.php on line 9

답변을 작성하시기 전에 로그인 해주세요.
전체 129,100 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT