안녕하세요. 그누보드 초보입니다.
로그인 페이지를 따로 만들고 싶어서 만들었는데 적용이 안되네요;;
로그인 시도하면 무조건 /bbs/login.php 전체 페이지로 넘어갑니다.. 코드 조금씩 다르게 해봤는데 여전히 문제가 똑같네요.
시스템 다른 파일 안 건들이고 테마만으로 가능하게 하고 싶은데 안될까요..
괜찮으시면 답변 부탁드립니다.
head.php 일부
CSS 일부
로그인 페이지를 따로 만들고 싶어서 만들었는데 적용이 안되네요;;
로그인 시도하면 무조건 /bbs/login.php 전체 페이지로 넘어갑니다.. 코드 조금씩 다르게 해봤는데 여전히 문제가 똑같네요.
시스템 다른 파일 안 건들이고 테마만으로 가능하게 하고 싶은데 안될까요..
괜찮으시면 답변 부탁드립니다.
head.php 일부
Copy
<!-- 오른쪽 로그인 영역 -->
<ul class="hd_login">
<?php if ($is_member) { ?>
<li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>
<li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
<?php if ($is_admin) { ?>
<li><a href="<?php echo correct_goto_url(G5_ADMIN_URL); ?>">관리자</a></li>
<?php } ?>
<?php } else { ?>
<li class="hd_login_drop">
<a href="#" id="btn-login-drop">로그인</a>
<div class="login-dropdown" id="login-dropdown">
<form name="foutlogin" id="foutlogin"
action="<?php echo G5_BBS_URL ?>/login.php"
method="post"
autocomplete="off">
<input type="hidden" name="url" value="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>">
<input type="text" name="mb_id" placeholder="아이디 또는 이메일" required maxlength="20">
<input type="password" name="mb_password" placeholder="비밀번호" required maxlength="20">
<div class="auto-login">
<label><input type="checkbox" name="auto_login" value="1"> 자동 로그인</label>
</div>
<button type="submit" class="drop-submit-btn">로그인</button>
</form>
<div class="login-drop-footer">
<a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a>
<a href="<?php echo G5_BBS_URL ?>/password_lost.php">비밀번호 찾기</a>
</div>
</div>
</li>
<li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>
<?php } ?>
</ul>
<script>
$(function() {
var $drop = $('#login-dropdown');
var $btn = $('#btn-login-drop');
// 버튼 클릭: 토글
$btn.on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$drop.toggleClass('show');
});
// 드롭다운 내부 클릭은 닫히지 않도록
$drop.on('click', function(e) {
e.stopPropagation();
});
// 외부 클릭 시 닫기
$(document).on('click', function() {
$drop.removeClass('show');
});
});
</script>
CSS 일부
Copy
/* 오른쪽 로그인 영역 */
.hd_login {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 20px;
font-size: 0.98rem;
font-weight: 500;
}
.hd_login li a {
color: #555;
text-decoration: none;
padding: 6px 12px;
transition: all 0.3s ease;
border-radius: 4px;
}
.hd_login li a:hover {
color: #3a8afd;
background: rgba(58, 138, 253, 0.08);
}
#gnb.scrolled .hd_login li a { color: #444; }
/* 서브메뉴 화살표나 bg 같은 불필요 요소 제거 */
.gnb_1dli .bg { display: none; }
/* 빈 메뉴 메시지 */
.gnb_wrap .gnb_empty {
color: #999;
font-size: 0.95rem;
}
/* ====================== 로그인 드롭다운 ====================== */
/* 로그인 li — 드롭다운 기준점 */
.hd_login_drop {
position: relative;
}
/* 드롭다운 패널 */
.login-dropdown {
display: none;
position: fixed; /* gnb가 fixed이므로 fixed 사용 */
top: 80px; /* gnb 높이와 동일 */
right: calc((100% - 1200px) / 2 + 20px); /* gnb_wrap 오른쪽 정렬 */
width: 320px;
background: #fff;
border: 1px solid #eee;
border-top: 2px solid #3a8afd;
border-radius: 0 0 12px 12px;
box-shadow: 0 12px 30px rgba(0,0,0,0.12);
padding: 28px 28px 22px;
z-index: 99999;
animation: dropDown 0.2s ease;
}
@keyframes dropDown {
0% { opacity: 0; transform: translateY(-8px); }
100% { opacity: 1; transform: translateY(0); }
}
.hd_login_drop:hover .login-dropdown,
.login-dropdown.show { display: block; }
/* 드롭다운 내부 입력 */
.login-dropdown input[type="text"],
.login-dropdown input[type="password"] {
display: block;
width: 100%;
height: 46px;
padding: 0 14px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 0.97rem;
margin-bottom: 10px;
outline: none;
transition: border 0.2s;
}
.login-dropdown input[type="text"]:focus,
.login-dropdown input[type="password"]:focus {
border-color: #3a8afd;
box-shadow: 0 0 0 3px rgba(58,138,253,0.12);
}
/* 자동 로그인 */
.login-dropdown .auto-login {
margin: 4px 0 16px;
font-size: 0.9rem;
color: #666;
}
/* 로그인 제출 버튼 */
.login-dropdown .drop-submit-btn {
display: block;
width: 100%;
height: 46px;
background: #3a8afd;
color: #fff;
border: none;
border-radius: 8px;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
transition: background 0.2s;
}
.login-dropdown .drop-submit-btn:hover { background: #2375eb; }
/* 하단 링크 */
.login-drop-footer {
display: flex;
justify-content: center;
gap: 18px;
margin-top: 16px;
font-size: 0.88rem;
}
.login-drop-footer a {
color: #888;
text-decoration: none;
transition: color 0.2s;
}
.login-drop-footer a:hover { color: #3a8afd; }
답변 3개 / 댓글 3개
채택된 답변
+20 포인트
2026-04-13 (월) 13:06:09
순정 구조부터 이해 하셔야 합니다.
그리고 /bbs/login.php 가 아니라 skin 내에서 member 폴더에 basic 에 보면 login.skin.php 가 있습니다.
테마에 통합하고 싶으시면 테마 내에도 동일한구조로 되어있구요.
관리자 환경설정에서 회원스킨을 지정하시고 skin 단에서 작업하시는게 좋습니다.
코어는 가급적 건들지마세요.
그리고 /bbs/login.php 가 아니라 skin 내에서 member 폴더에 basic 에 보면 login.skin.php 가 있습니다.
테마에 통합하고 싶으시면 테마 내에도 동일한구조로 되어있구요.
관리자 환경설정에서 회원스킨을 지정하시고 skin 단에서 작업하시는게 좋습니다.
코어는 가급적 건들지마세요.
답변에 대한 댓글 1개
헤드나 사이드에서 바로 로그인시키려면 그냥 아웃로그인 사용하시는 게 낫지 않나요?
요샌 보안 강화 차원에서 일부러 로그인 페이지로 보내서 로그인 시킨다고 하더라구요.
네이버도 그러고,
여기 sir도 그렇고
구글도 그렇고...
요샌 보안 강화 차원에서 일부러 로그인 페이지로 보내서 로그인 시킨다고 하더라구요.
네이버도 그러고,
여기 sir도 그렇고
구글도 그렇고...
답변에 대한 댓글 1개
Winter0
2026-04-13 (월) 13:22:51
아 처음부터 그럴 걸 그랬나봐요 ㅠㅠ 그 사이트 메뉴 디자인 때문에 저렇게 한 거였는데 너무 피곤해졌네요..
action="<?php echo G5_BBS_URL ?>/login.php"
action="<?php echo G5_BBS_URL ?>/login_check.php"
로 변경해보세요
답변에 대한 댓글 1개
Winter0
2026-04-13 (월) 13:23:52
변경했는데 제가 그누보드 구조가 아직 미숙해서 해결이 안됐네요.. 그래도 감사합니다
답변을 작성하려면 로그인이 필요합니다.