Warning: Uninitialized string offset 0 에러문의

Warning: Uninitialized string offset 0 에러문의

QA

Warning: Uninitialized string offset 0 에러문의

본문

안녕하세요.

서버이전을 하게되면서 php8로 업그레드를 하게되었습니다.

그러면서 홈페이지 오류가 많이 나타나서 수정작업중입니다. 

오류수정 작업 중 제목처럼 관리자 페이지(배너관리)에서 아래처럼 오류가 납니다.

Warning: Uninitialized string offset

에러출력되는 곳

<p><INPUT TYPE="RADIO" name="bn_position" id="bn_position_<?php echo $i; ?>" value="<?php echo $banner_info[0]; ?>"<?php  IF ( $bn['bn_position'] == $banner_info[0] )  { echo " checked"; }  ?>> <?php echo $banner_info[0]; ?> : <span style="color:#5b747e;"><?php echo $banner_info[1]; ?></span></p>

 

어떤거 때문에 에러(Warning: Uninitialized string offset)가 나는지 알수있을까요?

가능하면 수정방법도 알고싶습니다.

감사합니다!~

이 질문에 댓글 쓰기 :

답변 4


$banner_info = $banner_info ?? ['', ''];
 
<p> <INPUT TYPE="RADIO" name="bn_position" id="bn_position_<?php echo $i; ?>" value="<?php echo isset($banner_info[0]) ? htmlspecialchars($banner_info[0]) : ''; ?>" <?php if (isset($bn['bn_position']) && isset($banner_info[0]) && $bn['bn_position'] == $banner_info[0]) { echo " checked"; } ?>> <?php echo isset($banner_info[0]) ? htmlspecialchars($banner_info[0]) : ''; ?> : <span style="color:#5b747e;"><?php echo isset($banner_info[1]) ? htmlspecialchars($banner_info[1]) : ''; ?></span> </p>

위 코드 위쪽 php부분에 넣으세요

if(!isset($bn['bn_position'])) $bn['bn_position']='';

 

banner_info 배열이 값이 없는것 같습니다. print_r로 한번 조회해보세요.


<?php
if (is_array($bn) == false) {
    $bn = [];
}
if (isset($bn['bn_position'] == false) {
    $bn['bn_position'] = '';
}
if (is_array($banner_info) == false) {
    $banner_info = [];
}
if (isset($banner_info[0]) == false) {
    $banner_info[0] = '';
}
if (isset($banner_info[1]) == false) {
    $banner_info[1] = '';
}
?>
<p><INPUT TYPE="RADIO" name="bn_position" id="bn_position_<?php echo $i; ?>" value="<?php echo $banner_info[0]; ?>"<?php  IF ( empty($bn['bn_position']) == false && $bn['bn_position'] == $banner_info[0] )  { echo " checked"; }  ?>> <?php echo $banner_info[0]; ?> : <span style="color:#5b747e;"><?php echo $banner_info[1]; ?></span></p>
답변을 작성하시기 전에 로그인 해주세요.
전체 12,440
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT