로그인을 하면 회원아이디나 비밀번호가 공백이면 안됩니다
이런 창이 뜨는데 이럴땐 어떻게해하나요?
아래는 로그인 소스파일입니다.
login.php
Copy
<?phpinclude_once('./_common.php');$g5['title'] = '로그인';include_once('./_head.sub.php');$url = $_GET['url'];$p = parse_url($url);if ((isset($p['scheme']) && $p['scheme']) || (isset($p['host']) && $p['host'])) { //print_r2($p); if ($p['host'].(isset($p['port']) ? ':'.$p['port'] : '') != $_SERVER['HTTP_HOST']) alert('url에 타 도메인을 지정할 수 없습니다.');}// 이미 로그인 중이라면if ($is_member) { if ($url) goto_url($url); else goto_url(G5_URL);}$login_url = login_url($url);$login_action_url = G5_HTTPS_BBS_URL."/login_check.php";// 로그인 스킨이 없는 경우 관리자 페이지 접속이 안되는 것을 막기 위하여 기본 스킨으로 대체$login_file = $member_skin_path.'/login.skin.php';if (!file_exists($login_file)) $member_skin_path = G5_SKIN_PATH.'/member/basic';include_once($member_skin_path.'/login.skin.php');include_once('./_tail.sub.php');?>
login_check.php
Copy
<?phpinclude_once('./_common.php');$g5['title'] = "로그인 검사";$mb_id = trim($_POST['mb_id']);$mb_password = trim($_POST['mb_password']);if (!$mb_id || !$mb_password) alert('회원아이디나 비밀번호가 공백이면 안됩니다.');$mb = get_member($mb_id);// 가입된 회원이 아니다. 비밀번호가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는// 회원아이디를 입력해 보고 맞으면 또 비밀번호를 입력해보는 경우를 방지하기 위해서입니다.// 불법사용자의 경우 회원아이디가 틀린지, 비밀번호가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.if (!$mb['mb_id'] || (sql_password($mb_password) != $mb['mb_password'])) { alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');}// 차단된 아이디인가?if ($mb['mb_intercept_date'] && $mb['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) { $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']); alert('회원님의 아이디는 접근이 금지되어 있습니다.\n처리일 : '.$date);}// 탈퇴한 아이디인가?if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME)) { $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_leave_date']); alert('탈퇴한 아이디이므로 접근하실 수 없습니다.\n탈퇴일 : '.$date);}if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify'])) { confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL.'/register_email.php?mb_id='.$mb_id);}@include_once($member_skin_path.'/login_check.skin.php');// 회원아이디 세션 생성set_session('ss_mb_id', $mb['mb_id']);// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106set_session('ss_mb_key', md5($mb['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));// 포인트 체크if($config['cf_use_point']) { $sum_point = get_point_sum($mb['mb_id']); $sql= " update {$g5['member_table']} set mb_point = '$sum_point' where mb_id = '{$mb['mb_id']}' "; sql_query($sql);}// 3.26// 아이디 쿠키에 한달간 저장if ($auto_login) { // 3.27 // 자동로그인 --------------------------- // 쿠키 한달간 저장 $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $mb['mb_password']); set_cookie('ck_mb_id', $mb['mb_id'], 86400 * 31); set_cookie('ck_auto', $key, 86400 * 31); // 자동로그인 end ---------------------------} else { set_cookie('ck_mb_id', '', 0); set_cookie('ck_auto', '', 0);}if ($url) { $link = urldecode($url); // 2003-06-14 추가 (다른 변수들을 넘겨주기 위함) if (preg_match("/\?/", $link)) $split= "&"; else $split= "?"; // $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김 foreach($_POST as $key=>$value) { if ($key != 'mb_id' && $key != 'mb_password' && $key != 'x' && $key != 'y' && $key != 'url') { $link .= "$split$key=$value"; $split = "&"; } }} else { $link = G5_URL;}goto_url($link);?>
|
답변 1개 / 댓글 4개
채택된 답변
+20 포인트
로그인시 로그인 정보를 기입했는데 그렇게 뜨는건가요?
$mb_id
$mb_password
의 form안에 input값을 이 name명으로 선언이 되어 있는지 확인해 보시고
데이터가 post 값으로 전달되도록 처리 되어 있는지 확인해 보시기 바랍니다.
지금은 로그인스킨 페이지 소스가 없어 확인이 불가능하네요
답변에 대한 댓글 4개
답변을 작성하려면 로그인이 필요합니다.
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
?>
<!-- 로그인 시작 { -->
<div id="mb_login" class="mbskin">
<h1><?php echo $g5['title'] ?></h1>
<form name="flogin" action="<?php echo $login_action_url ?>" onsubmit="return flogin_submit(this);" method="post">
<input type="hidden" name="url" value='<?php echo $login_url ?>'>
<fieldset id="login_fs">
<legend>회원로그인</legend>
<label for="login_id" class="login_id">회원아이디<strong class="sound_only"> 필수</strong></label>
<input type="text" name="mb_id" id="login_id" required class="frm_input required" size="20" maxLength="20">
<label for="login_pw" class="login_pw">비밀번호<strong class="sound_only"> 필수</strong></label>
<input type="password" name="mb_password" id="login_pw" required class="frm_input required" size="20" maxLength="20">
<input type="submit" value="로그인" class="btn_submit">
<input type="checkbox" name="auto_login" id="login_auto_login">
<label for="login_auto_login">자동로그인</label>
</fieldset>
<aside id="login_info">
<h2>회원로그인 안내</h2>
<p>
회원아이디 및 비밀번호가 기억 안나실 때는 아이디/비밀번호 찾기를 이용하십시오.<br>
아직 회원이 아니시라면 회원으로 가입 후 이용해 주십시오.
</p>
<div>
<a href="<?php echo G5_BBS_URL ?>/password_lost.php" target="_blank" id="login_password_lost" class="btn02">아이디 비밀번호 찾기</a>
<a href="./register.php" class="btn01">회원 가입</a>
</div>
</aside>
</form>
<?php // 쇼핑몰 사용시 여기부터 ?>
<?php if ($default['de_level_sell'] == 1) { // 상품구입 권한 ?>
<!-- 주문하기, 신청하기 -->
<?php if (preg_match("/orderform.php/", $url)) { ?>
<section id="mb_login_notmb">
<h2>비회원 구매</h2>
<p>
비회원으로 주문하시는 경우 포인트는 지급하지 않습니다.
</p>
<div id="guest_privacy">
<?php echo $default['de_guest_privacy']; ?>
</div>
<label for="agree">개인정보수집에 대한 내용을 읽었으며 이에 동의합니다.</label>
<input type="checkbox" id="agree" value="1">
<div class="btn_confirm">
<a href="javascript:guest_submit(document.flogin);" class="btn02">비회원으로 구매하기</a>
</div>
<script>
function guest_submit(f)
{
if (document.getElementById('agree')) {
if (!document.getElementById('agree').checked) {
alert("개인정보수집에 대한 내용을 읽고 이에 동의하셔야 합니다.");
return;
}
}
f.url.value = "<?php echo $url; ?>";
f.action = "<?php echo $url; ?>";
f.submit();
}
</script>
</section>
<?php } else if (preg_match("/orderinquiry.php$/", $url)) { ?>
<fieldset id="mb_login_od">
<legend>비회원 주문조회</legend>
<form name="forderinquiry" method="post" action="<?php echo urldecode($url); ?>" autocomplete="off">
<label for="od_id" class="od_id">주문서번호<strong class="sound_only"> 필수</strong></label>
<input type="text" name="od_id" value="<?php echo $od_id; ?>" id="od_id" required class="frm_input required" size="20">
<label for="id_pwd" class="od_pwd">비밀번호<strong class="sound_only"> 필수</strong></label>
<input type="password" name="od_pwd" size="20" id="od_pwd" required class="frm_input required">
<input type="submit" value="확인" class="btn_submit">
</form>
</fieldset>
<section id="mb_login_odinfo">
<h2>비회원 주문조회 안내</h2>
<p>메일로 발송해드린 주문서의 <strong>주문번호</strong> 및 주문 시 입력하신 <strong>비밀번호</strong>를 정확히 입력해주십시오.</p>
</section>
<?php } ?>
<?php } ?>
<?php // 쇼핑몰 사용시 여기까지 반드시 복사해 넣으세요 ?>
<div class="btn_confirm">
<a href="<?php echo G5_URL ?>/">메인으로 돌아가기</a>
</div>
</div>
<script>
$(function(){
$("#login_auto_login").click(function(){
if (this.checked) {
this.checked = confirm("자동로그인을 사용하시면 다음부터 회원아이디와 비밀번호를 입력하실 필요가 없습니다.\n\n공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?");
}
});
});
function flogin_submit(f)
{
return true;
}
</script>
<!-- } 로그인 끝 -->
[/code]