list.skin.php 에서 게시판제목 출력에 대한 문의입니다
관련링크
본문
아래에 코드 위에서는 <?php $board['bo_subject'];?> 하면 게시판 제목이 잘 출력되지만 아래의 코드 아래에서는 <?php $board['bo_subject'];?> 이 게시판 제목을 출력하지 못하고 Warning: Undefined array key "bo_subject" in /var/www/html/theme/dw_bootstrap/skin/board/da_basic/list.skin.php on line 112 와 같은 오류가 뜨네요~~ 112 라인은 아래의 코드 아래부분에 있는 <?php $board['bo_subject'];?> 입니다 그리구 게시판제목을 저장하면 한글로 저장이 안되고 알파벳수십개가 저장되어있습니다
상단에서 게시판제목은 <?php echo $board['bo_subject']; ?> <---정상출력됨
<?php
$user_id = $member['mb_id'];
// 관심 게시판 목록을 가져오기
$result = sql_query("SELECT mb_1 FROM g5_member WHERE mb_id = '{$user_id}'");
$member = sql_fetch_array($result);
$saved_boards = !empty($member['mb_1']) ? json_decode($member['mb_1'], true) : [];
// 게시판 정보를 간단하게 저장
$boards = []; // 게시판 정보를 저장할 배열
// 게시판 ID와 제목을 간단한 배열로 추가
if (isset($bo_table)) {
// 게시판 제목을 가져오는 부분
$board_subject = isset($board['bo_subject']) ? $board['bo_subject'] : '제목 없음';
$boards[] = [
'id' => $bo_table, // 게시판 ID
'title' => $board_subject // 게시판 제목
];
} else {
// 기본값 설정
$boards[] = [
'id' => 'unknown', // 게시판 ID
'title' => '제목 없음' // 기본 제목
];
}
?>
<div>
<strong>게시판 목록</strong>
<ul>
<?php
// 게시판 목록을 반복하여 출력
foreach ($boards as $board) {
$board_id = $board['id']; // 게시판 ID
$board_title = $board['title']; // 게시판 제목
// 관심 게시판 여부 확인
$is_saved = false;
foreach ($saved_boards as $saved_board) {
if ($saved_board['id'] === $board_id) {
$is_saved = true;
break;
}
}
echo '<li>';
echo '<strong>' . htmlspecialchars($board_title) . '</strong>'; // 게시판 제목 출력
// 관심 게시판 추가 버튼
if (!$is_saved) {
echo '<form method="POST" action="../theme/dw_bootstrap/include/add_interest_board.php" style="display:inline;">
<input type="hidden" name="board_id" value="' . htmlspecialchars($board_id) . '">
<input type="hidden" name="board_title" value="' . htmlspecialchars($board_title) . '">
<button type="submit">관심 게시판 추가</button>
</form>';
} else {
// 관심 게시판 제거 버튼
echo '<form method="POST" action="../theme/dw_bootstrap/include/remove_interest_board.php" style="display:inline;">
<input type="hidden" name="board_id" value="' . htmlspecialchars($board_id) . '">
<button type="submit">관심 게시판 제거</button>
</form>';
}
echo '</li>';
}
?>
</ul>
</div>
<?php
// 관심 게시판 추가 후 성공 메시지 처리
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['board_id'])) {
// 관심 게시판 추가 로직
$new_board = [
'id' => $_POST['board_id'],
'title' => $_POST['board_title']
];
// 기존 관심 게시판 목록에 추가
$saved_boards[] = $new_board;
// 데이터베이스에 저장
// JSON 형식으로 저장하는 부분을 제거했습니다. 필요에 따라 직접 구현하세요.
// 예시: 관심 게시판 목록을 데이터베이스에 저장하는 로직
// $updated_boards_json = json_encode($saved_boards, JSON_UNESCAPED_UNICODE);
// $update_query = "UPDATE g5_member SET mb_1 = '{$updated_boards_json}' WHERE mb_id = '{$user_id}'";
// sql_query($update_query);
// 성공 메시지 팝업
echo '<script>alert("관심 게시판이 추가되었습니다."); window.location.href = "원하는_페이지.php";</script>';
}
?>
하단에서 게시판 제목은:<?php echo $board['bo_subject']; ?> 목 록 <---오류나고 게시판제목 출력 안됨
AI와 놀구있는데 나도 초보인데 Ai 도 그누보드 초보라 서로 이랬다 저랬다 하고 있습니다~~
그래도 이게 나름 공부가 많이 됩니다~~ 그래서 재미있습니다
!-->답변 1
※ 인코딩 불일치
- dbconfig.php
파일에서 utf8mb4
를 설정했는지 확인
- 페이지 상단에 <meta charset="UTF-8">
을 설정
※ 변수 초기화
- list.skin.php
파일에서 $board
변수가 초기화되지 않은 상태에서 접근되고 있음.
- include_once('./_common.php'),
공통 설정 파일을 포함하여 $board
변수를 초기화
※ $board['bo_subject']
설정 확인
- 직접 g5_board
테이블에서 데이터를 가져오는 방법
- $bo_table
을 이용해 제목을 가져오는 방식
$board['bo_subject']
에 접근하는 소스
<?php
if (isset($bo_table)) {
$result = sql_query("SELECT bo_subject FROM g5_board WHERE bo_table = '{$bo_table}'");
$board = sql_fetch_array($result);
}
?>
♠ 위의 문제들을 참고하여 칭9(AI)랑 놀아 보세요.
!-->