테스트 사이트 - 개발 중인 베타 버전입니다

랜덤 페이지 이동 구현

· 1년 전 · 1056 · 4

게시판이 많은 사이트의 경우 랜덤적으로 게시판 입장하는 것도 또 하나의 즐거움이라 생각됩니다.

 

물론 일반 페이지도 포함되어 있구요

 

해당 페이지 링크 하시면 3초 뒤 랜덤 페이지로 이동해 색다른 재미도 줄 수 있을 것 같습니다.

 

아래 코드 풀로 복사 하셔서 원하는 파일명으로 작명하신 뒤 index.php 파일이 있는 최상단에 업로드 해주세요

 

모르겠다 하시면 파일 다운로드

 

홈페이지주소/random_page.php 파일 실행하시면 됩니다.

 

주석으로 내용 달아뒀으니 수정 자유롭게 하시면 될 것 같습니다.

 

978180634_1714363916.7741.gif

 

[code]

 

<?php

include_once('_common.php');

 $exclude_clause = '';

// 제외할 게시판 작성 (아래 주석 참고)

 // $hardcoded_exclusions = ['notice', 'free'];

 $hardcoded_exclusions = [''];

 if (!empty($exclude_boards)) {

        $exclude_boards = array_merge($exclude_boards, $hardcoded_exclusions);

    } else {

        $exclude_boards = $hardcoded_exclusions;

    }

    $exclude_boards_string = "'" . implode("', '", $exclude_boards) . "'";

    $exclude_clause = " WHERE `bo_table` NOT IN ({$exclude_boards_string})";

 

    // 제외할 게시판을 제외한 모든 게시판 정보를 가져옵니다.

    $sql = "SELECT * FROM `g5_board`" . $exclude_clause;

    $result = sql_query($sql); // 쿼리 실행

    $all_boards_info = [];  // 모든 게시판 정보를 저장할 배열

 

    while ($board = sql_fetch_array($result)) {

        $bo_table = $board['bo_table'];  // 게시판 테이블명을 가져옵니다.

        $bo_subject = $board['bo_subject'];  // 게시판 제목을 가져옵니다.

        $all_boards_info[] = array(

            'bo_subject' => $bo_subject,

            'bo_table' => $bo_table,

            'type' => 'board'

        );

    }

 

    // 일반 페이지 추가 (path 에 주소 / title 에 페이지 이름(화면상에 보여질))

 

    $additional_pages = [

        ['path' => 'test1/index.php', 'title' => 'Test Page 1'],

        ['path' => 'test3/test.php', 'title' => 'Test Page 3']

    ];

 

    foreach ($additional_pages as $page) {

        $all_boards_info[] = array(

            'bo_subject' => $page['title'],

            'bo_table' => $page['path'],

            'type' => 'page'

        );

    }

 

    if (!empty($all_boards_info)) {

        $random_key = array_rand($all_boards_info);

        $random_board = $all_boards_info[$random_key];

        if ($random_board['type'] === 'board') {

            $redirect_url = "/bbs/board.php?bo_table=" . $random_board['bo_table'];

        } else {

            $redirect_url = "/" . $random_board['bo_table'];

        }

        // 더 빠르게 이동하려면 3000을 1000으로 변경시 1초가 됩니다 1000 당 1초

        echo "<script>setTimeout(function() { window.location.href = '{$redirect_url}'; }, 3000);</script>";

        echo $random_board['bo_subject'] . " (" . $random_board['bo_table'] . ") 으로 3초 후 이동합니다.<br>";

    }

   

[/code]

 

고맙습니다.

댓글 작성

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

로그인하기

댓글 4개

역시 초보들이 손쉽게 사용할수있게 해주시는 센스~

1년 전

감사합니다

1년 전

감사합니다.

감사합니다.

게시글 목록

번호 제목
22349
22347
22312
22308
22303
22282
22269
22259
22253
22234
22221
22197
22191
22179
22151
22144
22135
22130
22118
22110
22098
22095
22076
22057
22053
22051
22050
22046
22044
22042