게시판명 출력

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시판명 출력

QA

게시판명 출력

본문

안녕하세요?

말 그대로 게시판명을 페이지에 출력을 해보려고 하는데요

잘되어서 글 올립니다

조언 부탁드립니다

 

<?
$bo_table[0] = explode('.', basename($_SERVER['PHP_SELF']));
?>

 

<?php echo $bo_table[0] ?>

 

해당 게시판으로 이동하면....

예를 들어

공지사항 게시판으로 이동하면 notice이라고 출력되고

자유게시판으로 이동하면 com이라고 출력되게 하려고 하는데요

 

Array 라고 출력되고 있습니다

이 질문에 댓글 쓰기 :

답변 6

게시판 테이블명이 array 로 출력될리가 없을텐데요?

게시판 생성시 id 가 $bo_table 이 맞을텐데 어디 다른곳을 수정하신건 아닌가요?

board.php 내 지역변수 $board 가 호출되고

해당 보드 내에서 print_r($board) 찍어보시면 bo_table 이 나올텐데요..

$board['bo_table'] 이 $bo_table 이 될텐데 이상하네요.

 

제대로된 방법은 아니지만

보드 진입시 bo_table 을 URL 로 뿌려주기 때문에

목록,보기,쓰기 페이지에서

 

$_GET['bo_table'] 하시면 해당 보드ID 를 가져오실순 있습니다.

 

 

아래 답변 예시로

 

<style>
.active {
background:#212020;
color:#ffffff;
}
</style>

<div class="menu <?php if($_GET['bo_table'] == 'notice') { ?>active<?php } ?>" onclick="location.href='<?php echo G5_BBS_URL ?>/board.php?bo_table=notice'">공지사항</div>

 

일단 이렇게 하셔도 됩니다.

 

 

조언 정말 감사합니다

그리고 제대로 된 방법이 아니라고 하셨는데요
그럼 홈페이지에 이상이 생기나요?
제가 너무 초보라서요 ㅠㅠ
정말 감사합니다

<?php if($_GET['bo_table'] == 'notice')

$bo_table 이걸로하면 되는데 뭐가 문제 있나요? 

 explode('.', basename($_SERVER['PHP_SELF'])); << 이건 방법이 아닙니다.

if($bo_table == 'notice') {}

답변 정말 감사합니다
또 릴보이즈님이시네요..........
제가 게시판명이 아니라 게시판테이블명이라고 해야 맞는것 같습니다

<style>
.active {
background:#212020;
color:#ffffff;
}
</style>

<div class="menu <?php if($bo_table == 'notice') { ?>active<?php } ?>" onclick="location.href='<?php echo G5_BBS_URL ?>/board.php?bo_table=notice'">공지사항</div>

그런데 그렇게 적용을 해도 위의 소스가 안됩니다
그리고 현재페이지의 게시판테이블명이 Array 로 출력이 됩니다

위 $_GET 으로 하는 방법은 지역변수와 별개로 URL 에서 변수를 가져오는 개념입니다.

게시판 URL 에는 bo_table=notice 이런식으로 항상 테이블명이 있으니까

$_GET['bo_table'] 로 가져오는 것입니다.

 

이걸 응용하면 카테고리(분류)도 변수로 가져올 수 있습니다.

통상 카테고리는 $sca 로 가져올수있으나 질문자님의 상태를 잘 모르므로

 

$_GET['sca'] 이런식으로 카테고리도 가져올수 있습니다.

 

근데 $bo_table 이 안되는 시점에서 게시판이 제대로 작동할리가 없는데 이상하네요...

 

아까 array 로 출력되는걸 <?php echo print_r($bo_table); ?> 이런식으로

어떤 배열이 있는지 올려주시면 한번 확인해봐드릴께요.

 

안녕하세요?

<?php if($bo_table == 'notice') { ?>active<?php } ?>

이렇게 쓰고 출력을 해보니까

<?php echo print_r($bo_table); ?>

지금은 1이라고 출력이 되네요 ㅠㅠ

이 1이 어떤 의미인지는 모르겠습니다
아마 참이라고 나오는것 같기는 한데요
Array로 출력이 됐을때도 왜 그런지 모르겠고요
제가 워낙 초보라.....
그리고 $bo_table이라고 쓰면 정상적으로 안나오고
$_GET['bo_table'] 이라고 쓰면  정상적으로 됩니다


지금까지 제가 한 작업은
그누보드 설치해서 아무것도 안건드리고
로그인박스 아래 div로 세로게시판메뉴를 2개 만들었습니다
공지사항, 자유게시판 두개를
게시판의 링크를 어떻게 해야 할지 몰라서

onclick="location.href='<?php echo G5_BBS_URL ?>/board.php?bo_table=notice'"

이런식으로 썼던건데 이 부분이 문제가 될수 있는지 모르겠습니다

그리고 지금 질문드린 부분인
div로 만들어진 세로게시판 메뉴를 선택했을때 선택한 메뉴가 색깔이 변했으면 했는데 지금 질문드린 내용처럼 해당페이지가 분명히 notice인데 출력해보면 notice으로 안나와서 질문드린거거든요
위에 어떤 함수를 써야하는지도 모르겠구요.....

지금 게시판은 정상적으로 되고 있기는 한데 님의 말씀을 들으니 제가 초보라 좀 불안하네요 ㅠㅠ

게시판 목록 /skin/board/basic/list.skin.php 에서

적당한곳에

3034868304_1599912163.8906.png

출력시

 

thumb-3034868304_1599912237.9302_730x247.png

 

이런식으로 해당 보드내의 모든 정보가 나와야 정상입니다.

bo_table 값도 $board['bo_table'] 내에 있습니다.

 

링크도 <a href="" 가 아닌 onclick="location.href 으로 하는걸로 봐서

정상적인 보드 경로가 아닌것 같습니다.

 

도메인.com/bbs/board.php?bo_table=보드테이블명

이런식으로 호출해서 다시 print_r 로 찍어보세요.

 

순정상태라면 절대로 array 로 나올수가 없습니다.

순정 상태라함은 그누보드 베이스 및 게시판 스킨 순정상태에서

도메인.com/bbs/board.php?bo_table=보드테이블명 이런식으로

호출되는걸 말합니다.

 

Array ([bo_table] => notice[gr_id] => main[bo_subject] => 공지사항 [bo_mobile_subject] =>[bo_device] => both[bo_admin] =>[bo_list_level] => 1[bo_read_level] => 1[bo_write_level] => 1[bo_reply_level] => 1[bo_comment_level] => 1[bo_upload_level] => 1[bo_download_level] => 1[bo_html_level] => 1[bo_link_level] => 1[bo_count_delete] => 1[bo_count_modify] => 1[bo_read_point] => 0[bo_write_point] => 0[bo_comment_point] => 0[bo_download_point] => 0[bo_use_category] => 0[bo_category_list] =>[bo_use_sideview] => 0[bo_use_file_content] => 0[bo_use_secret] => 0[bo_use_dhtml_editor] => 0[bo_select_editor] =>[bo_use_rss_view] => 0[bo_use_good] => 0[bo_use_nogood] => 0[bo_use_name] => 0[bo_use_signature] => 0[bo_use_ip_view] => 0[bo_use_list_view] => 0[bo_use_list_file] => 0[bo_use_list_content] => 0[bo_table_width] => 100[bo_subject_len] => 60[bo_mobile_subject_len] => 30[bo_page_rows] => 15[bo_mobile_page_rows] => 15[bo_new] => 24[bo_hot] => 100[bo_image_width] => 835[bo_skin] => basic[bo_mobile_skin] => basic[bo_include_head] => _head.php[bo_include_tail] => _tail.php[bo_content_head] =>[bo_mobile_content_head] =>[bo_content_tail] =>[bo_mobile_content_tail] =>[bo_insert_content] =>[bo_gallery_cols] => 4[bo_gallery_width] => 202[bo_gallery_height] => 150[bo_mobile_gallery_width] => 125[bo_mobile_gallery_height] => 100[bo_upload_size] => 1048576[bo_reply_order] => 1[bo_use_search] => 1[bo_order] => 0[bo_count_write] => 4[bo_count_comment] => 0[bo_write_min] => 0[bo_write_max] => 0[bo_comment_min] => 0[bo_comment_max] => 0[bo_notice] =>[bo_upload_count] => 2[bo_use_email] => 0[bo_use_cert] =>[bo_use_sns] => 0[bo_use_captcha] => 0[bo_sort_field] =>[bo_1_subj] =>[bo_2_subj] =>[bo_3_subj] =>[bo_4_subj] =>[bo_5_subj] =>[bo_6_subj] =>[bo_7_subj] =>[bo_8_subj] =>[bo_9_subj] =>[bo_10_subj] =>[bo_1] =>[bo_2] =>[bo_3] =>[bo_4] =>[bo_5] =>[bo_6] =>[bo_7] =>[bo_8] =>[bo_9] =>[bo_10] => ) 1


지금 이렇게 출력이 됩니다

그럼 div가 아니라
ul로 하면<a 이런식으로 링크를 걸수 있을것 같은데요...
div에는 <a 이렇게 링크가 걸리는것 같지 않다고 제가 찾아본거 같아서요
맞나요? 제가 초보라....

그러면 ul로 했을때
<a href="" 이런식으로 링크를 걸면
<a href=""  뒤에 주소는 어떤 식으로 표현을 해야 하나요?

그럼 정상적인 모양이 나오는건지도 궁금합니다

개발자로 활동하시거나 직접 관리하셔야 하는 거면,

php 및 sql 기본 과정 공부 후 작업해 보세요.

응용력이 절로 생깁니다. 코드 이해도도 폭발적으로 증가하고...

https://www.w3schools.com/

div 도 링크가 걸립니다.

이부분 약간 설명드리자면

a 태그는 인라인레벨입니다.

div 태그는 블록레벨입니다.

과거 html5 이전에는 블록레벨을 인라인레벨로 감쌀수 없었습니다.

현재는 거의 모든 브라우저가 html5를 지원해서

사용하셔도 상관은 없습니다.

 

thumb-3034868304_1599919307.9027_730x192.png

 

다만 익스플로러8(윈도우xp 기본 브라우저) 처럼 구버전 브라우저는

작동하지 않을 수 있습니다.

답변감사합니다
ul로 수정을 해보았는데
$_GET 를 쓰지 않으면 페이지가 어떤 게시판인지 인식을 여전히 못하네요
로그인박스 아래 div로 메뉴 2개만 만들었을뿐인데 너무 많은 질문을 드린것 같아요
그냥 이렇게 써야 할것 같아요

onclick 는 <a href 로 수정했더니 잘되네요 ㅠㅠ

답변, 조언 너무나 감사했습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 1
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT