syntax error 에 대한 조언 부탁드립니다.
본문
랜덤하게 게시판이나 php 페이지를 불러오는 코드를 적용해 보고 있습니다.
(팁자료실에 있는 미니미a님이 올려주신 자료를 참고했습니다)
아래 코드에서 5번째 줄인 $hardcoded_exclusions = ['']; 에서 syntax 에러가 발생합니다.
예전에 syntax error를 겪어본 경험을 떠올려 보면,
아마도 php 버전에서 문제가 있지 않을까 싶은데... (php 버전이 낮습니다)
이 부분을 어떻게 수정해야 버전과 관련된 에러를 잡을 수 있을지 조언 부탁드립니다.
<?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>";
}
답변을 작성하시기 전에 로그인 해주세요.