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

여분빌드 분할입력 문제 채택완료

write 페이지에서 

여분필드를 분할해서 데이터를 입력하려고 하는데, 

아래와 같이 경고 메시지가 나오네요.

Copy

Warning: Undefined array key "wr_5" in E:\w23\g55834\skin\board\basic_media\write.skin.php on line 217
Warning: Undefined array key "wr_6" in E:\w23\g55834\skin\board\basic_media\write.skin.php on line 218
Warning: Undefined array key "wr_7" in E:\w23\g55834\skin\board\basic_media\write.skin.php on line 219
Warning: Undefined array key "wr_8" in E:\w23\g55834\skin\board\basic_media\write.skin.php on line 220

참고로,

사용환경은 laragon 6.0에,

Apache httpd-2.4.57,

php-8.2.10-win32-vs16-x64,

mysql-8.1.0-winx64

입니다.

답변 5개

채택된 답변
+20 포인트

isset($write['wr_5'])

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

감사합니다.
알려주신 걸 갖고 아래와 같이 수정했습니다.

<?php
if (isset($write['wr_5'])) { $wr_5x = explode("|",substr($write['wr_5'],1)); }
if (isset($write['wr_6'])) { $wr_6x = explode("|",substr($write['wr_6'],1)); }
if (isset($write['wr_7'])) { $wr_7x = explode("|",substr($write['wr_7'],1)); }
if (isset($write['wr_8'])) { $wr_8x = explode("|",substr($write['wr_8'],1)); }

if ($wr_5x && count($wr_5x)>0) { // 이 곳과
$wr_5_cnt = count($wr_5x);
}
if (!$wr_5_cnt) { //이 곳에서
$wr_5_cnt = 1;
}
for ($i = 0; $i < $wr_5_cnt; $i++) {
?>

그런데, 이번에는
Warning: Undefined variable $wr_5x in ....
이라는 경고가 뜹니다.
해결책을 좀 알려주세요.
감사합니다.
[code]
<?php
$wr_5x = explode('|',substr(isset($write['wr_5']),1));
$wr_6x = explode('|',substr(isset($write['wr_6']),1));
$wr_7x = explode('|',substr(isset($write['wr_7']),1));
$wr_8x = explode('|',substr(isset($write['wr_8']),1));
?>
[/code]
이렇게 해 보세요.
채택 감사 합니다.

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

질문 코드 위쪽에 다음처럼 넣으세요

if(!$w) $write['wr_5'] =$write['wr_6']=$write['wr_7'] =$write['wr_8'] ='';

$wr_5x=$wr_6x=$wr_7x=$wr_8x=array();

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다.

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

Copy
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다.

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

에러문구를 잘 보시면 답이 있습니다.

Warning: Undefined array key "wr_5" in E:\w23\g55834\skin\board\basic_media\write.skin.php on line 217

wr_5 필드에 배열키가 정의되어 있지 않다는것입니다. 조금 더 쉽게 풀이해 보자면.. $wirte에 배열이 정상적으로 셋팅이 안되어있다는 것입니다.

먼저 print_r2($write)를 해서 한번 출력해보시면 값이 안나올겁니다. 그럼 상위로 올라가서 $write 에 배열을 할당 하는곳을 살펴보시면 쉽게 해결이 되실겁니다.

근본적인 원인부터 하나씩 찾아보시면 해결이 되실겁니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다.

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

경고 메시지는 "wr_5", "wr_6", "wr_7", "wr_8"과 같은 배열 키에 해당하는 값을 찾지 못한 것으로 보이네요~

배열을  필드를 '|' 문자로 분할하여 배열 만들기 전에 다음과 같이 추가해보세요

$wr_5 = $write['wr_5']; $wr_6 = $write['wr_6']; $wr_7 = $write['wr_7']; $wr_8 = $write['wr_8'];

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다.

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고