로그인 관련해서 다시 질문 드릴께요
그누보드5 theme 기본 스킨을 사용하고 있습니다.
메인페이지 접속시 아웃로그인 화면처럼 로그인 폼만 보이게 하고 로그인 체크 후
새로운 페이지에 원래 그누보드가 보여지는 내용을 보여주게 하고 싶은데 잘 안되네요...ㅠㅠ
로그인체크 후 이동하는 경로설정에서가 아무래도 막히는 것 같은데 어떻게 해야 할 지 모르겠어요
혹시 몰라 소스를 올려드릴테니 고수님들 도와주세요
1. head.php
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (G5_IS_MOBILE) {
include_once(G5_THEME_MOBILE_PATH.'/head.php');
return;
}
include_once(G5_THEME_PATH.'/head.sub.php');
include_once(G5_LIB_PATH.'/latest.lib.php');
include_once(G5_LIB_PATH.'/outlogin.lib.php');
include_once(G5_LIB_PATH.'/poll.lib.php');
include_once(G5_LIB_PATH.'/visit.lib.php');
include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/popular.lib.php');
?>
2. index.php
<?php
define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (G5_IS_MOBILE) {
include_once(G5_THEME_MOBILE_PATH.'/index.php');
return;
}
include_once(G5_THEME_PATH.'/main_head.php'); //head.php의 원본소스 내용
?>
<?php inlcude_once('login.php'); ?> 4번에 소스 내용 있습니다.
<?php include_once(G5_THEME_PATH.'/tail.php'); ?>
3. tail.php
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (G5_IS_MOBILE) {
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
return;
}
?>
<script>
$(function() {
// 폰트 리사이즈 쿠키있으면 실행
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
});
</script>
<?php include_once(G5_THEME_PATH."/tail.sub.php"); ?>
4. login.php
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_THEME_CSS_URL.'/login.css">', 0);
$url = $_GET['url'];
// url 체크
check_url_host($url);
$login_url = login_url($url);
$login_action_url = G5_HTTPS_BBS_URL."/login_check.php";
$login_ck = G5_URL."/mainpage.php"; //로그인 후 보여주려는 새로운 페이지
?>
<!-- 로그인 시작 { -->
<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_ck ?>">
<div id="mb_login" class="mbskin">
<section class="container">
<article class="half">
<div class="content">
<div class='imgbox'></div>
<div class="logbox">
<input type="text" name="mb_id" id="login_id" class="inpt" required="required" placeholder="ID">
<input type="password" name="mb_password" id="login_pw" class="inpt" required="required" placeholder="PassWord">
<input type="submit" value="LOGIN" class="submit"><p>
<input type="checkbox" name="auto_login" id="login_auto_login" class="checkbox">
<label for="login_auto_login">아이디저장</label><a href="<?php echo G5_BBS_URL ?>/password_lost.php" target="_blank" id="login_password_lost">정보찾기</a>
</div>
</div>
</article>
</section>
</div>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$('.tabs .tab').click(function(){
if ($(this).hasClass('signin')) {
$('.tabs .tab').removeClass('active');
$(this).addClass('active');
$('.cont').hide();
$('.signin-cont').show();
}
if ($(this).hasClass('signup')) {
$('.tabs .tab').removeClass('active');
$(this).addClass('active');
$('.cont').hide();
$('.signup-cont').show();
}
});
$(function(){
$("#login_auto_login").click(function(){
if (this.checked) {
this.checked = confirm("자동로그인을 사용하시면 다음부터 회원아이디와 비밀번호를 입력하실 필요가 없습니다.\n\n공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?");
}
});
});
function flogin_submit(f)
{
return true;
}
</script>
5. mainpage.php(새로 만든 페이지)
<?php
if (G5_IS_MOBILE) {
include_once(G5_THEME_MOBILE_PATH.'/index.php');
return;
}
include_once(G5_THEME_PATH.'/main_head.php');
?>
<!-- 콘텐츠 시작 { -->
<div id="wrapper">
<div id="aside">
<?php echo outlogin('theme/basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
<?php //echo poll('theme/basic'); // 설문조사, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
</div>
<div id="container">
<?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
<h2 class="sound_only">최신글</h2>
<!-- 최신글 시작 { -->
<?php
// 최신글
$sql = " select bo_table
from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
where a.bo_device <> 'mobile' ";
if(!$is_admin)
$sql .= " and a.bo_use_cert = '' ";
$sql .= " order by b.gr_order, a.bo_order ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
if ($i%2==1) $lt_style = "margin-left:20px";
else $lt_style = "";
?>
<div style="float:center;<?php echo $lt_style ?>">
<?php
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('theme/basic', $row['bo_table'], 5, 25);
?>
</div>
<?php } ?>
<!-- } 최신글 끝 -->
<?php include_once(G5_THEME_PATH.'/main_tail.php'); ?>
여기서 main_head와 main_tail 소스는 그누보드 원본 head와tail소스 내용 그대로 입니다.
이렇게 하면 로그인 화면만 보여지고 로그인시 아이디 비번이 맞는지 확인 체크는 되는데
아이디와 비번이 맞은 경우 mainpage.php에서 막히네요ㅠㅠ
답변 1개
답변을 작성하려면 로그인이 필요합니다.