여분빌드 분할입력 문제 채택완료
write 페이지에서
여분필드를 분할해서 데이터를 입력하려고 하는데,
아래와 같이 경고 메시지가 나오네요.
</p>
<p><?php
$wr_5x = explode('|',substr($write['wr_5'],1));
$wr_6x = explode('|',substr($write['wr_6'],1));
$wr_7x = explode('|',substr($write['wr_7'],1));
$wr_8x = explode('|',substr($write['wr_8'],1));
?></p>
<p>
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개
답변에 대한 댓글 3개
<?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개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><?php
$wr_5x = isset($write['wr_5']) == true ? explode('|',substr($write['wr_5'],1)) : null;
$wr_6x = isset($write['wr_6']) == true ? explode('|',substr($write['wr_6'],1)) : null;
$wr_7x = isset($write['wr_7']) == true ? explode('|',substr($write['wr_7'],1)) : null;
$wr_8x = isset($write['wr_8']) == true ? explode('|',substr($write['wr_8'],1)) : null;
?></p>
<p>
답변에 대한 댓글 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개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
알려주신 걸 갖고 아래와 같이 수정했습니다.
<?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 ....
이라는 경고가 뜹니다.
해결책을 좀 알려주세요.
감사합니다.