테스트 사이트 - 개발 중인 베타 버전입니다

undefined variable 오류가 나는데 왜 그런지를 모르겠네요 채택완료

굼떠 1년 전 조회 2,320

그누보드가 아닌 사이트인데 회원가입이 되지 않아 오류 출력하는 소스를 사용해서 오류를 출력해보니

error_reporting(E_ALL);

ini_set('display_errors', '1');

 

두가지 오류가 발생하네여..

Notice: Undefined offset: 1 in /home/shamanism/public_html/board/inc_join.php on line 17

http://sir.kr/data/editor/2403/1030043444_1709797752.3398.png" width="666" />

 

이런 오류가 나는데 해당 영역 소스가

</p>

<p>//17번째줄</p>

<p>    $email = explode("@",$email);</p>

<p>    $email01 = $email[0];</p>

<p>    $email02 = $email[1]; //이곳에서 오류 발생</p>

<p> </p>

<p>//125번째줄</p>

<p><select class="contacts" name="phone1" itemname="휴대폰 국번은" required></p>

<p>                                        <?</p>

<p>                                            $phoneArr = ARRAY("010","011","016","017","018","019");</p>

<p>                                            FOR($i=0;$i<COUNT($phoneArr);$i++)</p>

<p>                                            {</p>

<p>                                                ECHO "<option value='".$phoneArr[$i]."'";</p>

<p>                                                IF($phoneArr[$i] == $hphone[0]) { ECHO " selected"; }</p>

<p>                                                ECHO ">".$phoneArr[$i]."</option>";</p>

<p>                                            }</p>

<p>                                        ?></p>

<p>                                    </select></p>

<p>

 

인터넷 찾아보니 초기화를 해줘야하고 뭐 방법이 여러가지가 잇던데 php를 모르다보니까 해결할 수가 없네요 . 도움좀 부탁드립니다.ㅜ

 

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

답변 2개

채택된 답변
+20 포인트

php 버전이 8로 넘어가면 

설정되지 않은 변수를 호출하면 저런 메세지가 나옵니다.

변수 앞에 @를 붙이면 오류를 무시합니다

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

답변에 대한 댓글 1개

굼떠
1년 전
감사합니다 잘 해결하였습니다!

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

메리7
1년 전

@ 붙이는건 php 9 되면 없어질꺼예요 undefined variable , undefined offfset 을 없애기 위해서 바꾸라고 경고내는건데요

 

 

 

 

php 7 버전 이상이면

 $email01 = $email[0] ?? '' 

 $email02 = $email[1] ?? '' 

 

hphone  는 그 위쪽에도 없으면 다른곳에서 넘어오는 걸텐데요

다른데도 없으면 저기 코드 위쪽에다 ?? '' 붙이세요

 

로 해주세요  ?? 은 왼쪽값이 없으면 오른쪽을 써라 라는 문법이예요

 

배열에 1번이라는 칸이 없는데 찾으려고하니까 오류나죠

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

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

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

로그인