2016-09-27 5 views
-2

학교 프로젝트에 TXT 파일을 사용하여 블로그를 만들어야합니다. 텍스트 파일 $ blog [0]은 메시지의 제목이고 $ blog 1은 사용자 이름이고 $ blog [2]는 메시지 자체입니다.알림 : 정의되지 않은 오프셋 : 1 while while

$file = fopen('blogs.txt', 'r'); 

    while(!feof($file)) { 
     $blog = fgets($file); 
     $blog = explode("*", $blog); 

     echo " 
     <p><strong>". $blog[0]. "</strong> 
     <br>By: ". $blog[1]. 
     "<br>". $blog[2]; 
    } 

페이지에 모든 메시지가 표시됩니다. 하지만 하단에는 두 개의 '정의되지 않은 오프셋 : 1'과 '정의되지 않은 오프셋 : 2'가 있습니다. 또한 'By :'라고 말하면서 (에코에 표시된 것처럼) 몇 번.

This is what the page looks like

+3

더 하나의 빈보다가 '폭발하는 당신이 읽은 이들은 대부분 빈 줄()'명령을 생산하기 위해 실패 요소. 질문에 파일 내용을 추가하는 것이 좋습니다. – arkascha

+0

$ blob [0]에 액세스 할 수 있도록 하나의 요소 배열이 있었지만 $ blob [1]이 없으므로 bz가 존재하지 않습니다. – Janaka

답변

1

확인하는 경우 둘 이상의 요소보다 explode 반환 :

$blog = explode("*", $blog); 

id (count($blog) >= 3) { 
    echo " 
    <p><strong>". $blog[0]. "</strong> 
    <br>By: ". $blog[1]. 
    "<br>". $blog[2]; 
} else { 
    //do some other stuff 
} 
+0

메시지 하나만 표시하지만 오류 코드는 없으므로 좋은 시작입니다. 어떻게 둘 이상의 항목을 표시합니까? –

+0

읽은 내용에서 데이터를 수정하십시오. 그렇지 않으면'else' 부분을 사용하여이 오류를 잡아 내고 대체 내용을 출력하십시오 – rbr94

관련 문제