회원가입 완료 페이지는 뜨는데 자동 로그인이 안 되는 경우 채택완료
안녕하세요.
정상적으로 회원가입도 되고 회원가입 완료 페이지도 잘 뜹니다만 로그인 상태가 아니라서 재로그인을 해야하는 상황입니다.
sns 계정으로 가입하면 또 정상적으로 완료 페이지에서 로그인도 되어있는데요..
sns 계정이 아닌 일반 계정으로 가입을 진행하면 위와 같은 증상이 나오네요.
답변주신대로 bbs/register_form_update.php 코드도 확인해 보았습니다만 아래처럼 특별한건 없었습니다.
</p>
<p> // 메일인증 사용하지 않는 경우에만 로그인
if (!$config['cf_use_email_certify'])
set_session('ss_mb_id', $mb_id);
회원가입 폼 페이지, 완료 페이지가 sub/join_1_2.php, sub/join_1_cp.php 이렇게 되어있는 걸 보니 커스텀으로 제작된 것 같은데요.
혹시 코드에 문제가 있을까요?
파일의 코드도 첨부할게요.
sub/join_1_2.php (회원가입 폼 페이지)
</p>
<p><?</p>
<p> include_once("_common.php");</p>
<p> include_once(G5_PATH."/_head.php");</p>
<p> </p>
<p> </p>
<p> $has_prf = false;</p>
<p> if ($w == 'u' && is_file(G5_DATA_PATH.'/member_image/'.substr($member['mb_id'], 0, 2).'/'.get_mb_icon_name($member['mb_id']).'.gif')) {</p>
<p> $has_prf = true;</p>
<p> }</p>
<p>?></p>
<p> </p>
<p><form action="<?=G5_URL?>/sub/join.sql.php" method="post" id="frm" name="frm" onsubmit="return fnSubmit_reg(this);" enctype="multipart/form-data"></p>
<p><input type="hidden" id="w" name="w" value="<?=$w?>"></p>
<p><input type="hidden" id="idchk" value="<?if($w == ''){ echo "n"; } else if($w == 'u'){ echo "y"; }?>"></p>
<p><input type="hidden" id="nickchk" value="<?if($w == ''){ echo "n"; } else if($w == 'u'){ echo "y"; }?>"></p>
<p><input type="hidden" id="mb_type_num" name="mb_type_num" value="1"></p>
<p> <div id="join_1_2"></p>
<p> <div class="res_basic"></p>
<p> <ul class="res_list"></p>
<p> <li></p>
<p> <div class="res_tit">아이디</div></p>
<p> <div class="res_cont"></p>
<p> <?if($w == ''){?></p>
<p> <input type="text" id="mb_id" name="mb_id" value="<?=$member['mb_id']?>" maxlength="20"></p>
<p> <button type="button" class="ab" onclick="fnChkText('id');">중복확인</button></p>
<p> <?}else if($w == 'u'){?></p>
<p> <input type="text" name="mb_id" id="mb_id" value="<?=$member['mb_id']?>" readonly></p>
<p> <?}?></p>
<p> </div></p>
<p> </li></p>
<p> <li></p>
<p> <div class="res_tit">비밀번호</div></p>
<p> <div class="res_cont"></p>
<p> <input type="password" id="mb_password" name="mb_password" maxlength="20"></p>
<p> </div></p>
<p> </li></p>
<p> <li></p>
<p> <div class="res_tit">비밀번호 확인</div></p>
<p> <div class="res_cont"></p>
<p> <input type="password" id="mb_password_re" name="mb_password_re" maxlength="20"></p>
<p> </div></p>
<p> </li></p>
<p> <li></p>
<p> <div class="res_tit">닉네임</div></p>
<p> <div class="res_cont"></p>
<p> <?php if($w == ''){ ?></p>
<p> <input type="text" id="mb_nick" name="mb_nick" value="<?=$member['mb_nick']?>" maxlength="30"><!-- onchange="fnChgText(this.value, 'nick');" --></p>
<p> <button type="button" class="ab" onclick="fnChkText('nick');">중복확인</button></p>
<p> <?php }else if($w == 'u'){ ?></p>
<p> <input type="text" id="mb_nick" name="mb_nick" value="<?=$member['mb_nick']?>" readonly></p>
<p> <?php } ?></p>
<p> </div></p>
<p> </li></p>
<p> <li></p>
<p> <div class="res_tit">이메일</div></p>
<p> <div class="res_cont"></p>
<p> <input type="email" id="mb_email" name="mb_email" value="<?=$member['mb_email']?>" placeholder="abcd1234@abcde.co.kr" <?=($w == 'u' ? 'readonly' : '')?>></p>
<p> </div></p>
<p> </li></p>
<p> <li></p>
<p> <div class="res_tit">프로필 이미지 등록 <span>(미 등록 시 기본 이미지로 저장됩니다.)</span></div></p>
<p> <ul class="res_cont"></p>
<p> <li class="filebox"></p>
<p> <input class="upload-name" type="text" placeholder="<?php echo ($has_prf ? '등록된 이미지가 있습니다.' : ($w == 'u' ? '등록된 이미지가 없습니다.' : '프로필 이미지를 등록해주세요.')); ?>" readonly></p>
<p> <label for="mb_img" class="ab" style="margin-top:0;">이미지 업로드</label></p>
<p> <input type="file" name="mb_img" id="mb_img"></p>
<p> </li></p>
<p> </ul></p>
<p> </li></p>
<p> </ul></p>
<p> <div class="btn_basic"></p>
<p> <!-- <a class="ab" href="<?=G5_URL?>/sub/join_1_cp.php">회원가입</a> --></p>
<p> <button class="ab"><?php echo ($w == '' ? '회원가입' : '정보수정'); ?></button></p>
<p> <?php if($w == 'u'){ ?></p>
<p> <a href="<?=G5_BBS_URL?>/member_confirm.php?url=member_leave.php" class="ab">회원탈퇴</a></p>
<p> <?php } ?></p>
<p> </div></p>
<p> </div></p>
<p> </div></p>
<p></form></p>
<p> </p>
<p><script></p>
<p> $("input[type='file']").on('change',function(){</p>
<p> if(window.FileReader){</p>
<p> var filename = $(this)[0].files[0].name;</p>
<p> } else {</p>
<p> var filename = $(this).val().split('/').pop().split('\\').pop();</p>
<p> }</p>
<p> </p>
<p> $(this).prev().prev().val(filename);</p>
<p> });</p>
<p> </p>
<p> function fnChkText(type){</p>
<p> if(type == 'id'){</p>
<p> var vl = $("#mb_id").val();</p>
<p> var regExp = /[^A-Za-z0-9-_]/g;</p>
<p> </p>
<p> if(vl == ''){</p>
<p> alert("아이디를 입력해주세요.");</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if(regExp.test(vl) === true){</p>
<p> alert("아이디는 영문, 숫자, -, _만 사용하여 입력해주세요.");</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if(vl.length < 4){</p>
<p> alert("아이디는 4글자 이상으로 기입해주세요.");</p>
<p> return false;</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> if(type == 'nick'){</p>
<p> var vl = $("#mb_nick").val();</p>
<p> var regExp = /[^가-힣A-Za-z0-9]/g;</p>
<p> </p>
<p> if(vl == ''){</p>
<p> alert("닉네임을 입력해주세요.");</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if(regExp.test(vl) === true){</p>
<p> alert("닉네임은 자음, 모음을 제외한 한글, 영어 및 숫자로만 입력해주세요.");</p>
<p> return false;</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> $.ajax({</p>
<p> type: "POST",</p>
<p> url: "<?=G5_URL?>/sub/ajax.idchk.php",</p>
<p> data: {type: type, vl: vl},</p>
<p> cache: false,</p>
<p> async: false,</p>
<p> contentType: "application/x-www-form-urlencoded; UTF-8",</p>
<p> success: function(data){</p>
<p> if(type == 'id'){</p>
<p> if(data == '0000') {</p>
<p> alert("사용 가능한 아이디입니다.");</p>
<p> $("#idchk").val("y");</p>
<p> }else if(data == '1111') {</p>
<p> alert("중복된 아이디가 존재합니다.");</p>
<p> $("#idchk").val("n");</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> if(type == 'nick'){</p>
<p> if(data == '0000') {</p>
<p> alert("사용 가능한 닉네임입니다.");</p>
<p> $("#nickchk").val("y");</p>
<p> }else if(data == '1111') {</p>
<p> alert("중복된 닉네임이 존재합니다.");</p>
<p> $("#nickchk").val("n");</p>
<p> }</p>
<p> }</p>
<p> }</p>
<p> });</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> function fnSubmit_reg(f){</p>
<p> if($("#w").val() == ''){</p>
<p> if($("#mb_id").val().length < 4){</p>
<p> alert("아이디는 4글자 이상으로 기입해주세요.");</p>
<p> $("#mb_id").focus();</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if($("#idchk").val() == 'n') {</p>
<p> alert("아이디 중복검사 작업을 완료해주세요.");</p>
<p> $("#mb_id").focus();</p>
<p> return false;</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> if($("#w").val() == ''){</p>
<p> if($("#mb_password").val().length < 4){</p>
<p> alert("비밀번호는 최소 4자가 필요합니다.");</p>
<p> $("#mb_password").focus();</p>
<p> return false;</p>
<p> }else{</p>
<p> if($("#mb_password").val() != $("#mb_password_re").val() ) {</p>
<p> alert("비밀번호가 동일하지 않습니다.");</p>
<p> $("#mb_password_re").focus();</p>
<p> return false;</p>
<p> }</p>
<p> }</p>
<p> }else if($("#w").val() == 'u'){</p>
<p> if($("#mb_password").val() != ''){</p>
<p> if($("#mb_password").val().length < 4){</p>
<p> alert("비밀번호는 최소 4자가 필요합니다.");</p>
<p> $("#mb_password").focus();</p>
<p> return false;</p>
<p> }else{</p>
<p> if($("#mb_password").val() != $("#mb_password_re").val() ) {</p>
<p> alert("비밀번호가 동일하지 않습니다.");</p>
<p> $("#mb_password_re").focus();</p>
<p> return false;</p>
<p> }</p>
<p> }</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> if($("#nickchk").val() == 'n') {</p>
<p> alert("닉네임 인증 작업을 완료해주세요.");</p>
<p> $("#mb_nick").focus();</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if($("#mb_email").val() == ''){</p>
<p> alert("이메일을 기입해주세요.");</p>
<p> $("#mb_email").focus();</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> return true;</p>
<p> }</p>
<p></script></p>
<p> </p>
<p><?</p>
<p> include_once(G5_PATH."/_tail.php");</p>
<p>?></p>
<p>
sub/join_1_cp.php (회원가입 완료 페이지)
</p>
<p><?</p>
<p> include_once("_common.php");</p>
<p> include_once(G5_PATH."/_head.php");</p>
<p>?></p>
<p> </p>
<p><div id="join_1_cp"></p>
<p> <div class="complete_box"></p>
<p> <div class="thum"><img src="<?=G5_THEME_IMG_URL?>/icon_ok.svg" alt=""></div></p>
<p> <div class="tit"><b>일반 회원가입</b>이
완료되었습니다.</div></p>
<p> <div class="desc">지금 바로
다양한 서비스를 경험해 보세요!</div></p>
<p> <div class="btn_basic sml bd"><a href="<?=G5_URL?>" class="ab">홈으로</a></div></p>
<p> </div></p>
<p></div></p>
<p> </p>
<p><?</p>
<p> include_once(G5_PATH."/_tail.php");</p>
<p>?></p>
<p>
고수분들의 답변을 기다립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
블랙캣77
1년 전
그누 원본이 아니라
sub/join.sql.php 페이지로 가네요 해당 페이지를 확인해보세요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
1년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
채택
채택
답변대기
채택
채택
채택
답변대기
답변대기
답변대기
채택
채택
채택
채택
채택
채택
채택
답변대기
해당 코드에서 어떤 부분을 확인해야 될까요?
sub/join.sql.php 코드 같이 첨부합니다.
[code]
<?
include_once("_common.php");
if($_SERVER['HTTP_REFERER'] == '') exit("잘못된 접근입니다.");
if($is_admin){
alert("관리자 계정은 관리자페이지에서 수정해주세요.");
}
$mb_hp = hyphen_hp_number($mb_hp);
$mb_birth = $mb_birth_year."-".$mb_birth_month."-".$mb_birth_day;
$add_query = "";
if($mb_type_num == '2'){
$add_query .= " , mb_zip1 = '".substr(trim($mb_zip), 0, 3)."' ";
$add_query .= " , mb_zip2 = '".substr(trim($mb_zip), 3)."' ";
$add_query .= " , mb_addr1 = '{$mb_addr1}' ";
$add_query .= " , mb_addr2 = '{$mb_addr2}' ";
$add_query .= " , mb_hp = '{$mb_hp}' ";
$add_query .= " , mb_1 = '{$mb_1}' ";
$add_query .= " , mb_2 = '{$mb_2}' ";
$add_query .= " , mb_3 = '{$mb_3}' ";
}
$image_regex = "/(\.(gif|jpe?g|png))$/i";
$mb_icon_img = get_mb_icon_name($mb_id).'.gif';
if( $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height'] ){
$mb_tmp_dir = G5_DATA_PATH.'/member_image/';
$mb_dir = $mb_tmp_dir.substr($mb_id,0,2);
@mkdir($mb_tmp_dir, G5_DIR_PERMISSION);
@chmod($mb_tmp_dir, G5_DIR_PERMISSION);
$mb_img = '';
$msg = '';
if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {
if (preg_match($image_regex, $_FILES['mb_img']['name'])) {
if ($_FILES['mb_img']['size'] <= $config['cf_member_img_size']) {
@mkdir($mb_dir, G5_DIR_PERMISSION);
@chmod($mb_dir, G5_DIR_PERMISSION);
$dest_path = $mb_dir.'/'.$mb_icon_img;
move_uploaded_file($_FILES['mb_img']['tmp_name'], $dest_path);
chmod($dest_path, G5_FILE_PERMISSION);
if (file_exists($dest_path)) {
$size = @getimagesize($dest_path);
if (!($size[2] === 1 || $size[2] === 2 || $size[2] === 3)) { // gif jpg png 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
} else if ($size[0] > $config['cf_member_img_width'] || $size[1] > $config['cf_member_img_height']) {
$thumb = null;
if($size[2] === 2 || $size[2] === 3) {
$thumb = thumbnail($mb_icon_img, $mb_dir, $mb_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);
if($thumb) {
@unlink($dest_path);
rename($mb_dir.'/'.$thumb, $dest_path);
}
}
if( !$thumb ){
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
@unlink($dest_path);
}
}
//=================================================================\
}
} else {
$msg .= '회원이미지을 '.number_format($config['cf_member_img_size']).'바이트 이하로 업로드 해주십시오.';
}
} else {
$msg .= $_FILES['mb_img']['name'].'은(는) gif/jpg 파일이 아닙니다.';
}
}
if($msg){
alert($msg);
}
}
if($w == '') {
$sql = " select count(*) as cnt from {$g5['member_table']} where mb_id = '{$mb_id}' ";
$row_id = sql_fetch($sql);
if($row_id['cnt'] > 0) {
alert("이미 존재하는 아이디입니다.");
}
if($mb_type_num == '2'){
//$add_query .= " , st_tp = '0' ";
$sql = " select count(*) as cnt from {$g5['member_table']} where mb_hp = '{$mb_hp}' ";
$row_hp = sql_fetch($sql);
if($row_hp['cnt'] > 0) {
alert("이미 존재하는 핸드폰 번호입니다.");
}
}
if($mb_type_num == '1'){
$add_query .= " , mb_level = '2' ";
}else if($mb_type_num == '2'){
$add_query .= " , mb_level = '3' ";
}
$sql = " insert into {$g5['member_table']} set
mb_id = '{$mb_id}'
, mb_password = '".get_encrypt_string($mb_password)."'
, mb_name = '{$mb_name}'
, mb_nick = '{$mb_nick}'
, mb_email = '{$mb_email}'
, mb_type = '{$mb_type}'
, mb_datetime = now()
{$add_query}
";
sql_query($sql);
insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '@member', $mb_id, '회원가입');
set_session('ss_mb_id', $mb_id);
$mb = get_member($mb_id);
$notemsg = "";
switch($mb['mb_level']){
case 2:
$notemsg = '[일반 회원가입] '.$mb['mb_nick'].'('.$mb['mb_id'].')';
break;
case 3:
$notemsg = '[업체 회원가입] <'.$mb['mb_3'].'> '.$mb['mb_nick'].'('.$mb['mb_id'].')';
break;
}
fnTelegramNotice($notemsg);
goto_url(G5_URL."/sub/join_".$mb_type_num."_cp.php");
}
if($w == 'u') {
if($mb_password) {
$add_query .= " , mb_password = '".get_encrypt_string($mb_password)."' ";
}
$sql = " update {$g5['member_table']}
set mb_name = '{$mb_name}'
, mb_nick = '{$mb_nick}'
, mb_email = '{$mb_email}'
{$add_query}
where mb_id = '{$mb_id}'
";
sql_query($sql);
fnTelegramNotice("[회원정보 수정] ".$member['mb_nick']."(".$member['mb_id'].")");
goto_url(G5_URL."/sub/join_".$mb_type_num."_2.php?w=u");
}
?>
[/code]