2026, 새로운 도약을 시작합니다.

게시판에 글쓰기를 딱 한번만 / 하루 글쓰기 횟수를 제한해보자!

사이트를 제작하고 게시판을 만들다 보면, 필요에 의해 만드는 게시판이 가입인사 게시판인데요

이걸 만들면 1번이 아니라 10번 20번도 글 쓸 수 있습니다.

그래서.. 이 게시판만큼은 딱 한번만 글 쓸수 있도록 수정할 수 있는 코드입니다.

이 수정을 통해 가입인사를 유도하고 1번만 글쓸 수 있기 때문에

많은 포인트를 지급해보는 것도 하나의 방법 같습니다!

물론 응용으로 여러 게시판 설정도 포함하였습니다.

사용하시는 게시판의 스킨을 열어주세요

해당스킨/write.skin.php 파일입니다.

상단 적당한 위치에 ...아래 코드를 넣어주세요

$board_name = 'new' 된 걸 가입인사 게시판의 이름으로 바꿔주세요

[code]

<?php

$board_name = 'new';

if(!$is_admin) {

  if($w=='' && $bo_table == $board_name) {

    $row = sql_fetch("select wr_id FROM `g5_write_{$board_name}` where mb_id='{$member['mb_id']}'");

    if($row['wr_id']) {

      alert("가입인사 게시판은 한번만 글 작성이 가능합니다.");

    }

  }

}

?>

[/code]

1893637532_1683855347.2174.png

만약 여러개의 게시판에 적용하고 싶다면 아래 코드를 활용해주세요

[code]

<?php

function fetch_wr_id($mb_id, $table_name) {

    $query = "SELECT wr_id FROM `{$table_name}` WHERE mb_id='{$mb_id}'";

    return sql_fetch($query);

}

if(!$is_admin) {

    $boards = ['new', 'free', 'humor'];

    $messages = [

        'new' => '신규 게시판은 한번만 글 작성이 가능합니다.',

        'free' => '자유 게시판은 한번만 글 작성이 가능합니다.',

        'humor' => '유머 게시판은 한번만 글 작성이 가능합니다.',

    ];

    if($w == '' && in_array($bo_table, $boards)) {

        $table_name = 'g5_write_' . $bo_table;

        $row = fetch_wr_id($member['mb_id'], $table_name);

        if($row['wr_id']) {

            alert($messages[$bo_table]);

        }

    }

}

?>

[/code]

1893637532_1683855105.9814.png

이런식으로 배열 관리하시면 좀 더 수월하게 사용할 수 있습니다.

만약 하루 글쓰기 횟수를 제한 하고 싶다면 아래 코드를 활용하시면 됩니다.

[code]

<?php

$board_name = 'new';

$max_count = 2;

if(!$is_admin) {

  if($w=='' && $board_name) {

    $row = sql_fetch("select wr_id FROM `g5_write_{$board_name}` where mb_id='{$member['mb_id']}'");

    $today_row = sql_fetch("select count(wr_datetime) as cnt from `g5_write_{$board_name}` where `mb_id` = '{$member['mb_id']}' and substring(`wr_datetime`,1,10) = '". G5_TIME_YMD ."' and `wr_is_comment` = 0");

    if($row['wr_id'] && $today_row['cnt'] >= $max_count) {

      alert('해당 게시판은 하루'.$max_count.'회만 작성을 허용합니다.');

    }

  }

}

?>

[/code]1893637532_1683855249.1516.png

만약 하루 글쓰기 제한을 여러 게시판에 적용하실려면 아래 코드를 활용하시면 됩니다.

$boards = 게시판 이름 - 더 추가하려면 ,'이름' 하시면 됩니다.

예)  $boards = ['new', 'free', 'humor']; 에 하나더 추가하고자 한다면...

$boards = ['new', 'free', 'humor', 'gallery'];  - 갤러리가 추가되었습니다.

추가한 뒤에는 반드시 $max_counts 도 추가해주세요

예) 

$max_counts = [

        'new' => 2,

        'free' => 3,

        'humor' => 4,

        'gallery' => 5,

    ];

[code]

<?php

if(!$is_admin) {

    $boards = ['new', 'free', 'humor'];

    $max_counts = [

        'new' => 2,

        'free' => 3,

        'humor' => 4,

    ];

    if($w == '' && in_array($bo_table, $boards)) {

        $row = sql_fetch("select wr_id FROM `g5_write_{$bo_table}` where mb_id='{$member['mb_id']}'");

        $today_row = sql_fetch("select count(wr_datetime) as cnt from `g5_write_{$bo_table}` where `mb_id` = '{$member['mb_id']}' and substring(`wr_datetime`,1,10) = '". G5_TIME_YMD ."' and `wr_is_comment` = 0");

        if($row['wr_id'] && $today_row['cnt'] >= $max_counts[$bo_table]) {

            alert('해당 게시판은 하루'.$max_counts[$bo_table].'회만 작성을 허용합니다.');

        }

    }

}

?>

[/code]

1893637532_1683855530.3911.png

오랜만에 나타나서, 오랜만에 팁하나 적고 갑니다!!

|

댓글 3개

좋은 팁이네요. 감사합니다. ^^
아주 유용한 팁이네요 감사합니다.
좋은 팁 감사합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,598
2741 4일 전 조회 125
2740 5일 전 조회 112
2739 1주 전 조회 212
2738 1주 전 조회 221
2737 1주 전 조회 184
2736 2주 전 조회 282
2735 3주 전 조회 288
2734 3주 전 조회 264
2733 1개월 전 조회 267
2732 1개월 전 조회 302
2731 1개월 전 조회 269
2730 1개월 전 조회 227
2729 1개월 전 조회 359
2728 1개월 전 조회 245
2727 1개월 전 조회 422
2726 1개월 전 조회 259
2725 1개월 전 조회 332
2724 1개월 전 조회 363
2723 1개월 전 조회 267
2722 1개월 전 조회 300
2721 1개월 전 조회 214
2720 2개월 전 조회 304
2719 2개월 전 조회 308
2718 2개월 전 조회 202
2717 2개월 전 조회 337
2716 2개월 전 조회 203
2715 2개월 전 조회 313
2714 2개월 전 조회 273
2713 2개월 전 조회 377
2712 2개월 전 조회 289
🐛 버그신고