회원가입 오류 ㅠ 제발 도와주세요.
전체 register_form_update.php 부분입니다.
</strong></p>
<p> </p>
<p><?php</p>
<p>include_once('./_common.php');</p>
<p>include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');</p>
<p>include_once(G5_LIB_PATH.'/register.lib.php');</p>
<p>include_once(G5_LIB_PATH.'/mailer.lib.php');</p>
<p>include_once(G5_LIB_PATH.'/thumbnail.lib.php');</p>
<p>
</p>
<p>// 리퍼러 체크</p>
<p>referer_check();</p>
<p> </p>
<p>if (!($w == '' || $w == 'u')) {</p>
<p> alert('w 값이 제대로 넘어오지 않았습니다.');</p>
<p>}</p>
<p> </p>
<p>if ($w == 'u' && $is_admin == 'super') {</p>
<p> if (file_exists(G5_PATH.'/DEMO'))</p>
<p> alert('데모 화면에서는 하실(보실) 수 없는 작업입니다.');</p>
<p>}</p>
<p> </p>
<p>if (run_replace('register_member_chk_captcha', !chk_captcha(), $w)) {</p>
<p> alert('자동등록방지 숫자가 틀렸습니다.');</p>
<p>}</p>
<p> </p>
<p>if($w == 'u')</p>
<p> $mb_id = isset($_SESSION['ss_mb_id']) ? trim($_SESSION['ss_mb_id']) : '';</p>
<p>else if($w == '')</p>
<p> $mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';</p>
<p>else</p>
<p> alert('잘못된 접근입니다', G5_URL);</p>
<p> </p>
<p>if(!$mb_id)</p>
<p> alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');</p>
<p> </p>
<p>$mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password']) : '';</p>
<p>$mb_password_re = isset($_POST['mb_password_re']) ? trim($_POST['mb_password_re']) : '';</p>
<p>$mb_name = isset($_POST['mb_name']) ? trim($_POST['mb_name']) : '';</p>
<p>$mb_nick = isset($_POST['mb_nick']) ? trim($_POST['mb_nick']) : '';</p>
<p>$mb_email = isset($_POST['mb_email']) ? trim($_POST['mb_email']) : '';</p>
<p>$mb_sex = isset($_POST['mb_sex']) ? trim($_POST['mb_sex']) : "";</p>
<p>$mb_birth = isset($_POST['mb_birth']) ? trim($_POST['mb_birth']) : "";</p>
<p>$mb_homepage = isset($_POST['mb_homepage']) ? trim($_POST['mb_homepage']) : "";</p>
<p>$mb_tel = isset($_POST['mb_tel']) ? trim($_POST['mb_tel']) : "";</p>
<p>$mb_hp = isset($_POST['mb_hp']) ? trim($_POST['mb_hp']) : "";</p>
<p>$mb_zip1 = isset($_POST['mb_zip']) ? substr(trim($_POST['mb_zip']), 0, 3) : "";</p>
<p>$mb_zip2 = isset($_POST['mb_zip']) ? substr(trim($_POST['mb_zip']), 3) : "";</p>
<p>$mb_addr1 = isset($_POST['mb_addr1']) ? trim($_POST['mb_addr1']) : "";</p>
<p>$mb_addr2 = isset($_POST['mb_addr2']) ? trim($_POST['mb_addr2']) : "";</p>
<p>$mb_addr3 = isset($_POST['mb_addr3']) ? trim($_POST['mb_addr3']) : "";</p>
<p>$mb_addr_jibeon = isset($_POST['mb_addr_jibeon']) ? trim($_POST['mb_addr_jibeon']) : "";</p>
<p>$mb_signature = isset($_POST['mb_signature']) ? trim($_POST['mb_signature']) : "";</p>
<p>$mb_profile = isset($_POST['mb_profile']) ? trim($_POST['mb_profile']) : "";</p>
<p>$mb_recommend = isset($_POST['mb_recommend']) ? trim($_POST['mb_recommend']) : "";</p>
<p>$mb_mailling = isset($_POST['mb_mailling']) ? trim($_POST['mb_mailling']) : "";</p>
<p>$mb_sms = isset($_POST['mb_sms']) ? trim($_POST['mb_sms']) : "";</p>
<p>$mb_open = isset($_POST['mb_open']) ? trim($_POST['mb_open']) : "0";</p>
<p>$mb_1 = isset($_POST['mb_1']) ? trim($_POST['mb_1']) : "";</p>
<p>$mb_2 = isset($_POST['mb_2']) ? trim($_POST['mb_2']) : "";</p>
<p>$mb_3 = isset($_POST['mb_3']) ? trim($_POST['mb_3']) : "";</p>
<p>$mb_4 = isset($_POST['mb_4']) ? trim($_POST['mb_4']) : "";</p>
<p>$mb_5 = isset($_POST['mb_5']) ? trim($_POST['mb_5']) : "";</p>
<p>$mb_6 = isset($_POST['mb_6']) ? trim($_POST['mb_6']) : "";</p>
<p>$mb_7 = isset($_POST['mb_7']) ? trim($_POST['mb_7']) : "";</p>
<p>$mb_8 = isset($_POST['mb_8']) ? trim($_POST['mb_8']) : "";</p>
<p>$mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : "";</p>
<p>$mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : "";</p>
<p> </p>
<p>$mb_name = clean_xss_tags($mb_name);</p>
<p>$mb_email = get_email_address($mb_email);</p>
<p>$mb_homepage = clean_xss_tags($mb_homepage);</p>
<p>$mb_tel = clean_xss_tags($mb_tel);</p>
<p>$mb_zip1 = preg_replace('/[^0-9]/', '', $mb_zip1);</p>
<p>$mb_zip2 = preg_replace('/[^0-9]/', '', $mb_zip2);</p>
<p>$mb_addr1 = clean_xss_tags($mb_addr1);</p>
<p>$mb_addr2 = clean_xss_tags($mb_addr2);</p>
<p>$mb_addr3 = clean_xss_tags($mb_addr3);</p>
<p>$mb_addr_jibeon = preg_match("/^(N|R)$/", $mb_addr_jibeon) ? $mb_addr_jibeon : '';</p>
<p> </p>
<p>run_event('register_form_update_before', $mb_id, $w);</p>
<p> </p>
<p>if ($w == '' || $w == 'u') {</p>
<p> </p>
<p> if ($msg = empty_mb_id($mb_id)) alert($msg, "", true, true); // alert($msg, $url, $error, $post);</p>
<p> if ($msg = valid_mb_id($mb_id)) alert($msg, "", true, true);</p>
<p> if ($msg = count_mb_id($mb_id)) alert($msg, "", true, true);</p>
<p> </p>
<p> // 이름, 닉네임에 utf-8 이외의 문자가 포함됐다면 오류</p>
<p> // 서버환경에 따라 정상적으로 체크되지 않을 수 있음.</p>
<p> $tmp_mb_name = iconv('UTF-8', 'UTF-8//IGNORE', $mb_name);</p>
<p> if($tmp_mb_name != $mb_name) {</p>
<p> alert('이름을 올바르게 입력해 주십시오.');</p>
<p> }</p>
<p> $tmp_mb_nick = iconv('UTF-8', 'UTF-8//IGNORE', $mb_nick);</p>
<p> if($tmp_mb_nick != $mb_nick) {</p>
<p> alert('닉네임을 올바르게 입력해 주십시오.');</p>
<p> }</p>
<p> </p>
<p> // 비밀번호를 체크하는 상태의 기본값은 true이며, 비밀번호를 체크하지 않으려면 hook 을 통해 false 값으로 바꿔야 합니다.</p>
<p> $is_check_password = run_replace('register_member_password_check', true, $mb_id, $mb_nick, $mb_email, $w);</p>
<p> </p>
<p> if ($is_check_password){</p>
<p> if ($w == '' && !$mb_password)</p>
<p> alert('비밀번호가 넘어오지 않았습니다.');</p>
<p> if ($w == '' && $mb_password != $mb_password_re)</p>
<p> alert('비밀번호가 일치하지 않습니다.');</p>
<p> }</p>
<p> </p>
<p> if ($msg = empty_mb_name($mb_name)) alert($msg, "", true, true);</p>
<p> if ($msg = empty_mb_nick($mb_nick)) alert($msg, "", true, true);</p>
<p> if ($msg = empty_mb_email($mb_email)) alert($msg, "", true, true);</p>
<p> if ($msg = reserve_mb_id($mb_id)) alert($msg, "", true, true);</p>
<p> if ($msg = reserve_mb_nick($mb_nick)) alert($msg, "", true, true);</p>
<p> // 이름에 한글명 체크를 하지 않는다.</p>
<p> //if ($msg = valid_mb_name($mb_name)) alert($msg, "", true, true);</p>
<p> if ($msg = valid_mb_nick($mb_nick)) alert($msg, "", true, true);</p>
<p> if ($msg = valid_mb_email($mb_email)) alert($msg, "", true, true);</p>
<p> if ($msg = prohibit_mb_email($mb_email))alert($msg, "", true, true);</p>
<p> </p>
<p> // 휴대폰 필수입력일 경우 휴대폰번호 유효성 체크</p>
<p> if (($config['cf_use_hp'] || $config['cf_cert_hp'] || $config['cf_cert_simple']) && $config['cf_req_hp']) {</p>
<p> if ($msg = valid_mb_hp($mb_hp)) alert($msg, "", true, true);</p>
<p> }</p>
<p> </p>
<p> if ($w=='') {</p>
<p> if ($msg = exist_mb_id($mb_id)) alert($msg);</p>
<p> </p>
<p> // if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_nick') != $mb_nick || get_session('ss_check_mb_email') != $mb_email) {</p>
<p> // set_session('ss_check_mb_id', '');</p>
<p> // set_session('ss_check_mb_nick', '');</p>
<p> // set_session('ss_check_mb_email', '');</p>
<p> // alert('올바른 방법으로 이용해 주십시오.');</p>
<p> // }</p>
<p> </p>
<p> // if (get_session('ss_check_mb_email') != $mb_email) {</p>
<p> // set_session('ss_check_mb_email', '');</p>
<p> // alert('이메일을 제대로 입력해주세요.');</p>
<p> // }</p>
<p> </p>
<p> if (get_session('ss_check_mb_id') != $mb_id) {</p>
<p> set_session('ss_check_mb_id', '');</p>
<p> alert('아이디를 제대로 입력해주세요.');</p>
<p> }</p>
<p> </p>
<p> if (get_session('ss_check_mb_nick') != $mb_nick) {</p>
<p> set_session('ss_check_mb_nick', '');</p>
<p> alert('닉네임을 제대로 입력해주세요.');</p>
<p> }</p>
<p>
</p>
<p> // 본인확인 체크</p>
<p> if($config['cf_cert_use'] && $config['cf_cert_req']) {</p>
<p> $post_cert_no = isset($_POST['cert_no']) ? trim($_POST['cert_no']) : '';</p>
<p> if($post_cert_no !== get_session('ss_cert_no') || ! get_session('ss_cert_no'))</p>
<p> alert("회원가입을 위해서는 본인확인을 해주셔야 합니다.");</p>
<p> }</p>
<p> </p>
<p> if ($config['cf_use_recommend'] && $mb_recommend) {</p>
<p> if (!exist_mb_id($mb_recommend))</p>
<p> alert("추천인이 존재하지 않습니다.");</p>
<p> }</p>
<p> </p>
<p> if (strtolower($mb_id) == strtolower($mb_recommend)) {</p>
<p> alert('본인을 추천할 수 없습니다.');</p>
<p> }</p>
<p> } else {</p>
<p> // 자바스크립트로 정보변경이 가능한 버그 수정</p>
<p> // 닉네임수정일이 지나지 않았다면</p>
<p> if ($member['mb_nick_date'] > date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400)))</p>
<p> $mb_nick = $member['mb_nick'];</p>
<p> // 회원정보의 메일을 이전 메일로 옮기고 아래에서 비교함</p>
<p> $old_email = $member['mb_email'];</p>
<p> }</p>
<p> </p>
<p> run_event('register_form_update_valid', $w, $mb_id, $mb_nick, $mb_email);</p>
<p> </p>
<p> if ($msg = exist_mb_nick($mb_nick, $mb_id)) alert($msg, "", true, true);</p>
<p> if ($msg = exist_mb_email($mb_email, $mb_id)) alert($msg, "", true, true);</p>
<p>}</p>
<p> </p>
<p>// 사용자 코드 실행</p>
<p>@include_once($member_skin_path.'/register_form_update.head.skin.php');</p>
<p> </p>
<p>//===============================================================</p>
<p>// 본인확인</p>
<p>//---------------------------------------------------------------</p>
<p>$mb_hp = hyphen_hp_number($mb_hp);</p>
<p>if($config['cf_cert_use'] && get_session('ss_cert_type') && get_session('ss_cert_dupinfo')) {</p>
<p> // 중복체크</p>
<p> $sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";</p>
<p> $row = sql_fetch($sql);</p>
<p> if (!empty($row['mb_id'])) {</p>
<p> alert("입력하신 본인확인 정보로 가입된 내역이 존재합니다.");</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>$sql_certify = '';</p>
<p>$md5_cert_no = get_session('ss_cert_no');</p>
<p>$cert_type = get_session('ss_cert_type');</p>
<p>if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {</p>
<p> // 해시값이 같은 경우에만 본인확인 값을 저장한다.</p>
<p> if ($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함</p>
<p> $sql_certify .= " , mb_hp = '{$mb_hp}' ";</p>
<p> $sql_certify .= " , mb_certify = '{$cert_type}' ";</p>
<p> $sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";</p>
<p> $sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";</p>
<p> $sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";</p>
<p> $sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";</p>
<p> if($w == 'u')</p>
<p> $sql_certify .= " , mb_name = '{$mb_name}' ";</p>
<p> } else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함</p>
<p> $sql_certify .= " , mb_hp = '{$mb_hp}' ";</p>
<p> $sql_certify .= " , mb_certify = '{$cert_type}' ";</p>
<p> $sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";</p>
<p> $sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";</p>
<p> $sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";</p>
<p> $sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";</p>
<p> if($w == 'u')</p>
<p> $sql_certify .= " , mb_name = '{$mb_name}' ";</p>
<p> }else {</p>
<p> alert('본인인증된 정보와 입력된 회원정보가 일치하지않습니다. 다시시도 해주세요');</p>
<p> }</p>
<p>} else {</p>
<p> if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {</p>
<p> $sql_certify .= " , mb_hp = '{$mb_hp}' ";</p>
<p> $sql_certify .= " , mb_certify = '' ";</p>
<p> $sql_certify .= " , mb_adult = 0 ";</p>
<p> $sql_certify .= " , mb_birth = '' ";</p>
<p> $sql_certify .= " , mb_sex = '' ";</p>
<p> }</p>
<p>}</p>
<p>//===============================================================</p>
<p>if ($w == '') {</p>
<p> $sql = " insert into {$g5['member_table']}</p>
<p> set mb_id = '{$mb_id}',</p>
<p> mb_password = '".get_encrypt_string($mb_password)."',</p>
<p> mb_name = '{$mb_name}',</p>
<p> mb_nick = '{$mb_nick}',</p>
<p> mb_nick_date = '".G5_TIME_YMD."',</p>
<p> mb_email = '{$mb_email}',</p>
<p> mb_homepage = '{$mb_homepage}',</p>
<p> mb_tel = '{$mb_tel}',</p>
<p> mb_zip1 = '{$mb_zip1}',</p>
<p> mb_zip2 = '{$mb_zip2}',</p>
<p> mb_addr1 = '{$mb_addr1}',</p>
<p> mb_addr2 = '{$mb_addr2}',</p>
<p> mb_addr3 = '{$mb_addr3}',</p>
<p> mb_addr_jibeon = '{$mb_addr_jibeon}',</p>
<p> mb_signature = '{$mb_signature}',</p>
<p> mb_profile = '{$mb_profile}',</p>
<p> mb_today_login = '".G5_TIME_YMDHIS."',</p>
<p> mb_datetime = '".G5_TIME_YMDHIS."',</p>
<p> mb_ip = '{$_SERVER['REMOTE_ADDR']}',</p>
<p> mb_level = '{$config['cf_register_level']}',</p>
<p> mb_recommend = '{$mb_recommend}',</p>
<p> mb_login_ip = '{$_SERVER['REMOTE_ADDR']}',</p>
<p> mb_mailling = '{$mb_mailling}',</p>
<p> mb_sms = '{$mb_sms}',</p>
<p> mb_open = '{$mb_open}',</p>
<p> mb_open_date = '".G5_TIME_YMD."',</p>
<p> mb_1 = '{$mb_1}',</p>
<p> mb_2 = '{$mb_2}',</p>
<p> mb_3 = '{$mb_3}',</p>
<p> mb_4 = '{$mb_4}',</p>
<p> mb_5 = '{$mb_5}',</p>
<p> mb_6 = '{$mb_6}',</p>
<p> mb_7 = '{$mb_7}',</p>
<p> mb_8 = '{$mb_8}',</p>
<p> mb_9 = '{$mb_9}',</p>
<p> mb_10 = '{$mb_10}'</p>
<p> {$sql_certify} ";</p>
<p> </p>
<p> // 이메일 인증을 사용하지 않는다면 이메일 인증시간을 바로 넣는다</p>
<p> if (!$config['cf_use_email_certify'])</p>
<p> $sql .= " , mb_email_certify = '".G5_TIME_YMDHIS."' ";</p>
<p> sql_query($sql);</p>
<p> </p>
<p> // 회원가입 포인트 부여</p>
<p> insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '@member', $mb_id, '회원가입');</p>
<p> </p>
<p> // 추천인에게 포인트 부여</p>
<p> if ($config['cf_use_recommend'] && $mb_recommend)</p>
<p> insert_point($mb_recommend, $config['cf_recommend_point'], $mb_id.'의 추천인', '@member', $mb_recommend, $mb_id.' 추천');</p>
<p> </p>
<p> // 회원님께 메일 발송</p>
<p> if ($config['cf_email_mb_member']) {</p>
<p> $subject = '['.$config['cf_title'].'] 회원가입을 축하드립니다.';</p>
<p> </p>
<p> // 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용</p>
<p> if ($config['cf_use_email_certify']) {</p>
<p> $mb_md5 = md5(pack('V*', rand(), rand(), rand(), rand()));</p>
<p> sql_query(" update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ");</p>
<p> $certify_href = G5_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5;</p>
<p> }</p>
<p> </p>
<p> ob_start();</p>
<p> include_once ('./register_form_update_mail1.php');</p>
<p> $content = ob_get_contents();</p>
<p> ob_end_clean();</p>
<p> </p>
<p> $content = run_replace('register_form_update_mail_mb_content', $content, $mb_id);</p>
<p> </p>
<p> mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);</p>
<p> </p>
<p> run_event('register_form_update_send_mb_mail', $config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content);</p>
<p> </p>
<p> // 메일인증을 사용하는 경우 가입메일에 인증 url이 있으므로 인증메일을 다시 발송되지 않도록 함</p>
<p> if($config['cf_use_email_certify'])</p>
<p> $old_email = $mb_email;</p>
<p> }</p>
<p> </p>
<p> // 최고관리자님께 메일 발송</p>
<p> if ($config['cf_email_mb_super_admin']) {</p>
<p> $subject = run_replace('register_form_update_mail_admin_subject', '['.$config['cf_title'].'] '.$mb_nick .' 님께서 회원으로 가입하셨습니다.', $mb_id, $mb_nick);</p>
<p> </p>
<p> ob_start();</p>
<p> include_once ('./register_form_update_mail2.php');</p>
<p> $content = ob_get_contents();</p>
<p> ob_end_clean();</p>
<p> </p>
<p> $content = run_replace('register_form_update_mail_admin_content', $content, $mb_id);</p>
<p> </p>
<p> mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);</p>
<p> </p>
<p> run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content);</p>
<p> }</p>
<p> </p>
<p> // 메일인증 사용하지 않는 경우에만 로그인</p>
<p> if (!$config['cf_use_email_certify']) {</p>
<p> set_session('ss_mb_id', $mb_id);</p>
<p> if(function_exists('update_auth_session_token')) update_auth_session_token(G5_TIME_YMDHIS);</p>
<p> }</p>
<p> </p>
<p> set_session('ss_mb_reg', $mb_id);</p>
<p> </p>
<p> if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)</p>
<p> insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록</p>
<p> }else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함</p>
<p> insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록</p>
<p> }</p>
<p> </p>
<p>} else if ($w == 'u') {</p>
<p> if (!trim(get_session('ss_mb_id')))</p>
<p> alert('로그인 되어 있지 않습니다.');</p>
<p> </p>
<p> if (trim($_POST['mb_id']) != $mb_id)</p>
<p> alert("로그인된 정보와 수정하려는 정보가 틀리므로 수정할 수 없습니다.\\n만약 올바르지 않은 방법을 사용하신다면 바로 중지하여 주십시오.");</p>
<p> </p>
<p> $sql_password = "";</p>
<p> if ($mb_password)</p>
<p> $sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";</p>
<p> </p>
<p> $sql_nick_date = "";</p>
<p> if ($mb_nick_default != $mb_nick)</p>
<p> $sql_nick_date = " , mb_nick_date = '".G5_TIME_YMD."' ";</p>
<p> </p>
<p> $sql_open_date = "";</p>
<p> if ($mb_open_default != $mb_open)</p>
<p> $sql_open_date = " , mb_open_date = '".G5_TIME_YMD."' ";</p>
<p> </p>
<p> // 이전 메일주소와 수정한 메일주소가 틀리다면 인증을 다시 해야하므로 값을 삭제</p>
<p> $sql_email_certify = '';</p>
<p> if ($old_email != $mb_email && $config['cf_use_email_certify'])</p>
<p> $sql_email_certify = " , mb_email_certify = '' ";</p>
<p> </p>
<p> $sql = " update {$g5['member_table']}</p>
<p> set mb_nick = '{$mb_nick}',</p>
<p> mb_mailling = '{$mb_mailling}',</p>
<p> mb_sms = '{$mb_sms}',</p>
<p> mb_open = '{$mb_open}',</p>
<p> mb_email = '{$mb_email}',</p>
<p> mb_homepage = '{$mb_homepage}',</p>
<p> mb_tel = '{$mb_tel}',</p>
<p> mb_zip1 = '{$mb_zip1}',</p>
<p> mb_zip2 = '{$mb_zip2}',</p>
<p> mb_addr1 = '{$mb_addr1}',</p>
<p> mb_addr2 = '{$mb_addr2}',</p>
<p> mb_addr3 = '{$mb_addr3}',</p>
<p> mb_addr_jibeon = '{$mb_addr_jibeon}',</p>
<p> mb_signature = '{$mb_signature}',</p>
<p> mb_profile = '{$mb_profile}',</p>
<p> mb_1 = '{$mb_1}',</p>
<p> mb_2 = '{$mb_2}',</p>
<p> mb_3 = '{$mb_3}',</p>
<p> mb_4 = '{$mb_4}',</p>
<p> mb_5 = '{$mb_5}',</p>
<p> mb_6 = '{$mb_6}',</p>
<p> mb_7 = '{$mb_7}',</p>
<p> mb_8 = '{$mb_8}',</p>
<p> mb_9 = '{$mb_9}',</p>
<p> mb_10 = '{$mb_10}'</p>
<p> {$sql_password}</p>
<p> {$sql_nick_date}</p>
<p> {$sql_open_date}</p>
<p> {$sql_email_certify}</p>
<p> {$sql_certify}</p>
<p> where mb_id = '$mb_id' ";</p>
<p> sql_query($sql);</p>
<p> </p>
<p> if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)</p>
<p> insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록</p>
<p> }else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함</p>
<p> insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록</p>
<p> }</p>
<p>}</p>
<p>
</p>
<p>// 회원 아이콘</p>
<p>$mb_dir = G5_DATA_PATH.'/member/'.substr($mb_id,0,2);</p>
<p> </p>
<p>// 아이콘 삭제</p>
<p>if (isset($_POST['del_mb_icon'])) {</p>
<p> @unlink($mb_dir.'/'.get_mb_icon_name($mb_id).'.gif');</p>
<p>}</p>
<p> </p>
<p>$msg = "";</p>
<p> </p>
<p>// 아이콘 업로드</p>
<p>$mb_icon = '';</p>
<p>$image_regex = "/(\.(gif|jpe?g|png))$/i";</p>
<p>$mb_icon_img = get_mb_icon_name($mb_id).'.gif';</p>
<p> </p>
<p>if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {</p>
<p> if (preg_match($image_regex, $_FILES['mb_icon']['name'])) {</p>
<p> // 아이콘 용량이 설정값보다 이하만 업로드 가능</p>
<p> if ($_FILES['mb_icon']['size'] <= $config['cf_member_icon_size']) {</p>
<p> @mkdir($mb_dir, G5_DIR_PERMISSION);</p>
<p> @chmod($mb_dir, G5_DIR_PERMISSION);</p>
<p> $dest_path = $mb_dir.'/'.$mb_icon_img;</p>
<p> move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);</p>
<p> chmod($dest_path, G5_FILE_PERMISSION);</p>
<p> if (file_exists($dest_path)) {</p>
<p> //=================================================================\</p>
<p> // 090714</p>
<p> // gif 파일에 악성코드를 심어 업로드 하는 경우를 방지</p>
<p> // 에러메세지는 출력하지 않는다.</p>
<p> //-----------------------------------------------------------------</p>
<p> $size = @getimagesize($dest_path);</p>
<p> if (!($size[2] === 1 || $size[2] === 2 || $size[2] === 3)) { // jpg, gif, png 파일이 아니면 올라간 이미지를 삭제한다.</p>
<p> @unlink($dest_path);</p>
<p> } else if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {</p>
<p> $thumb = null;</p>
<p> if($size[2] === 2 || $size[2] === 3) {</p>
<p> //jpg 또는 png 파일 적용</p>
<p> $thumb = thumbnail($mb_icon_img, $mb_dir, $mb_dir, $config['cf_member_icon_width'], $config['cf_member_icon_height'], true, true);</p>
<p> if($thumb) {</p>
<p> @unlink($dest_path);</p>
<p> rename($mb_dir.'/'.$thumb, $dest_path);</p>
<p> }</p>
<p> }</p>
<p> if( !$thumb ){</p>
<p> // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제</p>
<p> @unlink($dest_path);</p>
<p> }</p>
<p> }</p>
<p> //=================================================================\</p>
<p> }</p>
<p> } else {</p>
<p> $msg .= '회원아이콘을 '.number_format($config['cf_member_icon_size']).'바이트 이하로 업로드 해주십시오.';</p>
<p> }</p>
<p> </p>
<p> } else {</p>
<p> $msg .= $_FILES['mb_icon']['name'].'은(는) 이미지 파일이 아닙니다.';</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>// 회원 프로필 이미지</p>
<p>if( $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height'] ){</p>
<p> $mb_tmp_dir = G5_DATA_PATH.'/member_image/';</p>
<p> $mb_dir = $mb_tmp_dir.substr($mb_id,0,2);</p>
<p> if( !is_dir($mb_tmp_dir) ){</p>
<p> @mkdir($mb_tmp_dir, G5_DIR_PERMISSION);</p>
<p> @chmod($mb_tmp_dir, G5_DIR_PERMISSION);</p>
<p> }</p>
<p> </p>
<p> // 아이콘 삭제</p>
<p> if (isset($_POST['del_mb_img'])) {</p>
<p> @unlink($mb_dir.'/'.$mb_icon_img);</p>
<p> }</p>
<p> </p>
<p> // 회원 프로필 이미지 업로드</p>
<p> $mb_img = '';</p>
<p> if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {</p>
<p> </p>
<p> $msg = $msg ? $msg."\\r\\n" : '';</p>
<p> </p>
<p> if (preg_match($image_regex, $_FILES['mb_img']['name'])) {</p>
<p> // 아이콘 용량이 설정값보다 이하만 업로드 가능</p>
<p> if ($_FILES['mb_img']['size'] <= $config['cf_member_img_size']) {</p>
<p> @mkdir($mb_dir, G5_DIR_PERMISSION);</p>
<p> @chmod($mb_dir, G5_DIR_PERMISSION);</p>
<p> $dest_path = $mb_dir.'/'.$mb_icon_img;</p>
<p> move_uploaded_file($_FILES['mb_img']['tmp_name'], $dest_path);</p>
<p> chmod($dest_path, G5_FILE_PERMISSION);</p>
<p> if (file_exists($dest_path)) {</p>
<p> $size = @getimagesize($dest_path);</p>
<p> if (!($size[2] === 1 || $size[2] === 2 || $size[2] === 3)) { // gif jpg png 파일이 아니면 올라간 이미지를 삭제한다.</p>
<p> @unlink($dest_path);</p>
<p> } else if ($size[0] > $config['cf_member_img_width'] || $size[1] > $config['cf_member_img_height']) {</p>
<p> $thumb = null;</p>
<p> if($size[2] === 2 || $size[2] === 3) {</p>
<p> //jpg 또는 png 파일 적용</p>
<p> $thumb = thumbnail($mb_icon_img, $mb_dir, $mb_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);</p>
<p> if($thumb) {</p>
<p> @unlink($dest_path);</p>
<p> rename($mb_dir.'/'.$thumb, $dest_path);</p>
<p> }</p>
<p> }</p>
<p> if( !$thumb ){</p>
<p> // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제</p>
<p> @unlink($dest_path);</p>
<p> }</p>
<p> }</p>
<p> //=================================================================\</p>
<p> }</p>
<p> } else {</p>
<p> $msg .= '회원이미지을 '.number_format($config['cf_member_img_size']).'바이트 이하로 업로드 해주십시오.';</p>
<p> }</p>
<p> </p>
<p> } else {</p>
<p> $msg .= $_FILES['mb_img']['name'].'은(는) gif/jpg 파일이 아닙니다.';</p>
<p> }</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>// 인증메일 발송</p>
<p>if ($config['cf_use_email_certify'] && $old_email != $mb_email) {</p>
<p> $subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';</p>
<p> </p>
<p> // 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용</p>
<p> $mb_md5 = md5(pack('V*', rand(), rand(), rand(), rand()));</p>
<p> </p>
<p> sql_query(" update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ");</p>
<p> </p>
<p> $certify_href = G5_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5;</p>
<p> </p>
<p> ob_start();</p>
<p> include_once ('./register_form_update_mail3.php');</p>
<p> $content = ob_get_contents();</p>
<p> ob_end_clean();</p>
<p> </p>
<p> $content = run_replace('register_form_update_mail_certify_content', $content, $mb_id);</p>
<p> </p>
<p> mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);</p>
<p> </p>
<p> run_event('register_form_update_send_certify_mail', $config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content);</p>
<p>}</p>
<p>
</p>
<p>// 신규회원 쿠폰발생</p>
<p>if($w == '' && $default['de_member_reg_coupon_use'] && $default['de_member_reg_coupon_term'] > 0 && $default['de_member_reg_coupon_price'] > 0) {</p>
<p> $j = 0;</p>
<p> $create_coupon = false;</p>
<p> </p>
<p> do {</p>
<p> $cp_id = get_coupon_id();</p>
<p> </p>
<p> $sql3 = " select count(*) as cnt from {$g5['g5_shop_coupon_table']} where cp_id = '$cp_id' ";</p>
<p> $row3 = sql_fetch($sql3);</p>
<p> </p>
<p> if(!$row3['cnt']) {</p>
<p> $create_coupon = true;</p>
<p> break;</p>
<p> } else {</p>
<p> if($j > 20)</p>
<p> break;</p>
<p> }</p>
<p> } while(1);</p>
<p> </p>
<p> if($create_coupon) {</p>
<p> $cp_subject = '신규 회원가입 축하 쿠폰';</p>
<p> $cp_method = 2;</p>
<p> $cp_target = '';</p>
<p> $cp_start = G5_TIME_YMD;</p>
<p> $cp_end = date("Y-m-d", (G5_SERVER_TIME + (86400 * ((int)$default['de_member_reg_coupon_term'] - 1))));</p>
<p> $cp_type = 0;</p>
<p> $cp_price = $default['de_member_reg_coupon_price'];</p>
<p> $cp_trunc = 1;</p>
<p> $cp_minimum = $default['de_member_reg_coupon_minimum'];</p>
<p> $cp_maximum = 0;</p>
<p> </p>
<p> $sql = " INSERT INTO {$g5['g5_shop_coupon_table']}</p>
<p> ( cp_id, cp_subject, cp_method, cp_target, mb_id, cp_start, cp_end, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum, cp_datetime )</p>
<p> VALUES</p>
<p> ( '$cp_id', '$cp_subject', '$cp_method', '$cp_target', '$mb_id', '$cp_start', '$cp_end', '$cp_type', '$cp_price', '$cp_trunc', '$cp_minimum', '$cp_maximum', '".G5_TIME_YMDHIS."' ) ";</p>
<p> </p>
<p> $res = sql_query($sql, false);</p>
<p> </p>
<p> if($res)</p>
<p> set_session('ss_member_reg_coupon', 1);</p>
<p> }</p>
<p>}</p>
<p>
</p>
<p>// 사용자 코드 실행</p>
<p>@include_once ($member_skin_path.'/register_form_update.tail.skin.php');</p>
<p> </p>
<p>if(isset($_SESSION['ss_cert_type'])) unset($_SESSION['ss_cert_type']);</p>
<p>if(isset($_SESSION['ss_cert_no'])) unset($_SESSION['ss_cert_no']);</p>
<p>if(isset($_SESSION['ss_cert_hash'])) unset($_SESSION['ss_cert_hash']);</p>
<p>if(isset($_SESSION['ss_cert_birth'])) unset($_SESSION['ss_cert_birth']);</p>
<p>if(isset($_SESSION['ss_cert_adult'])) unset($_SESSION['ss_cert_adult']);</p>
<p> </p>
<p>if ($msg)</p>
<p> echo '<script>alert(\''.$msg.'\');</script>';</p>
<p> </p>
<p>run_event('register_form_update_after', $mb_id, $w);</p>
<p> </p>
<p>if ($w == '') {</p>
<p> goto_url(G5_HTTP_BBS_URL.'/register_result.php');</p>
<p>} else if ($w == 'u') {</p>
<p> $row = sql_fetch(" select mb_password from {$g5['member_table']} where mb_id = '{$member['mb_id']}' ");</p>
<p> $tmp_password = $row['mb_password'];</p>
<p> </p>
<p> if ($old_email != $mb_email && $config['cf_use_email_certify']) {</p>
<p> set_session('ss_mb_id', '');</p>
<p> alert('회원 정보가 수정 되었습니다.\n\nE-mail 주소가 변경되었으므로 다시 인증하셔야 합니다.', G5_URL);</p>
<p> } else {</p>
<p> echo '</p>
<p> <!doctype html></p>
<p> <html lang="ko"></p>
<p> <head></p>
<p> <meta charset="utf-8"></p>
<p> <title>회원정보수정</title></p>
<p> <body></p>
<p> <form name="fregisterupdate" method="post" action="'.G5_HTTP_BBS_URL.'/register_form.php"></p>
<p> <input type="hidden" name="w" value="u"></p>
<p> <input type="hidden" name="mb_id" value="'.$mb_id.'"></p>
<p> <input type="hidden" name="mb_password" value="'.$tmp_password.'"></p>
<p> <input type="hidden" name="is_update" value="1"></p>
<p> </form></p>
<p> <script></p>
<p> alert("회원 정보가 수정 되었습니다.");</p>
<p> document.fregisterupdate.submit();</p>
<p> </script></p>
<p> </body></p>
<p> </html>';</p>
<p> }</p>
<p>}</p>
<p><strong>
회원가입 시 자꾸만 올바른 방법으로 이용해 주십시오 라는 경고창이 뜨면서 이전화면으로 돌아갑니다.
그래서 저렇게
if ($w=='') {
if ($msg = exist_mb_id($mb_id)) alert($msg);
// if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_nick') != $mb_nick || get_session('ss_check_mb_email') != $mb_email) {
// set_session('ss_check_mb_id', '');
// set_session('ss_check_mb_nick', '');
// set_session('ss_check_mb_email', '');
// alert('올바른 방법으로 이용해 주십시오.');
// }
// if (get_session('ss_check_mb_email') != $mb_email) {
// set_session('ss_check_mb_email', '');
// alert('이메일을 제대로 입력해주세요.');
// }
if (get_session('ss_check_mb_id') != $mb_id) {
set_session('ss_check_mb_id', '');
alert('아이디를 제대로 입력해주세요.');
}
if (get_session('ss_check_mb_nick') != $mb_nick) {
set_session('ss_check_mb_nick', '');
alert('닉네임을 제대로 입력해주세요.');
}
이렇게 코드를 저렇게 쪼개서 확인해보니... 이메일을 제대로 입력해주세요 라고 뜨니 이메일쪽 문제인듯 싶은데, 뭐가 문제인지를 잘 모르겠네요.
우선 이메일 관련된 부분
// if (get_session('ss_check_mb_email') != $mb_email) {
// set_session('ss_check_mb_email', '');
// alert('이메일을 제대로 입력해주세요.');
// }
이 부분을 주석처리하니 오류가 없어지기는 하는데, 나중에 유지보수 할 때 이 문제로 골치아파 질 것 같아서요.
혹시 왜 이런 오류가 발생하는지, 그리고 어떻게 해결해야 하는지 봐주실 수 있을까요ㅕ ??
답변 4개
답변을 작성하려면 로그인이 필요합니다.
로그인