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

랜덤 페이지 이동 구현

· 1년 전 · 1054 · 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년 전

감사합니다.

감사합니다.

게시글 목록

번호 제목
21816
21804
21803
21802
21801
21791
21773
21768
21758
21753
21750
21729
21712
21686
21682
21675
21671
21669
21657
21637
21633
21631
21623
21594
21592
21589
21580
21567
21565
21542