웹마스터 팁

XE에서 사용되는 db.config.php 파일등 include가 되는 파일을 잘 보시면, 닫는 php문인 ?>가 없는 것을 보실 수 있습니다.


왜 없을까요?

우선 그 전에 php 파일의 특성을 알 필요가 있습니다.


php는 <?php 부터 ?> 까지를 실행합니다. 즉, ?> 이후의 문자열은 처리하지 않습니다.


예를 하나 들어 보겠습니다.


<?php
include('common.php');
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}?><meta charset="utf-8"><?php
echo $lang->all;
echo $_SESSION['count'];
echo $lang->visit;


<?php
$lang = new stdClass();
$lang->all="총" ;
$lang->visit="회 방문하셨네요!";
?> 

php 닫는 태그 뒤에 공백이 추가되어 있습니다.


예상되는 결과는 총 ~회 방문하셨네요! 입니다.


하지만!

error.PNG

오류가 납니다.(정상 작동하긴 합니다)


왜 그럴까요? 바로 common.php에 있습니다.

common.php를 include 할때, 공백까지 함께 include 되었고, 이로 인해 세션 변수를 설정하기 전에 공백이 먼저 출력되어 버리면서 오류가 생기는 것입니다.


이제 common.php를 약간 수정해 보겠습니다.

<?php
$lang = new stdClass();
$lang->all="총" ;
$lang->visit="회 방문하셨네요!";
 

맨 뒷줄 공백은 그대로이지만, 닫는 php 태그를 뺐습니다.


결과는..

d.PNG

잘 나오죠.


이처럼 include하는 php 파일에는 닫는 php 태그를 생략하는 것이 생길수 있는 오류를 방지하는 방법입니다.


오류가 나는 페이지는 http://yjsoft.pe.kr/php_ex/wrong/로,

정상적인 페이지는 http://yjsoft.pe.kr/php_ex/right/ 로 방문하실 수 있습니다.

제목 글쓴이 날짜
부트스트랩 css 팁 [3] 돼지코구뇽 2014.04.05
jquery 외부로드하기 [22] DynamicLaser 2014.04.07
Windows IIS 에서 F5 연타 방지하기 (mod_evasive , limit_req) [3] file StyleRoot 2014.04.08
장비 침입 탐지 및 자동 ip 차단 프로그램 소개 [4] 고구마군 2014.04.09
xe 쪽지 보내기창에 파일첨부하기 연동하는 팁 [7] 졸라맨 2014.04.09
<div>에 ajax html 넣기 [3] 웹빌드 2014.04.10
NULL/XMAS 패킷 포트 스캐닝 방지 방안 고구마군 2014.04.12
include용 파일에는 닫는 php문이 없다? file YJSoft 2014.04.14
XE 업데이트후 갑자기 CSS/JS등이 403 오류가 날때 YJSoft 2014.04.16
무한 스크롤 스크립트 [4] 웹빌드 2014.04.16
가비아에서 웹호스팅 관련 팁 [1] JerryKim 2014.04.19
Windows Server 에서 세션 최적화 StyleRoot 2014.04.20
Windows Server 이벤트 로그 정리하기 StyleRoot 2014.04.20
css를 이용한 페이지 인식 헤이즈디자인 2014.04.23
회원가입시 아이피 기록하기 [10] 수직상승 2014.04.24
머니시스템 보유머니 출력하기 [13] oscarmike 2014.04.24
도움안될 것 같은 람보의 주옥같은 팁1 (스케치북 스킨에서 ctrl+enter키로 댓글작성 완료하기) [5] BJ람보 2014.04.26
유챗 팝업창으로 만들기 [1] file oscarmike 2014.04.26
포인트복권 팝업창 말고 현재창에서 바로 사용하기! [1] 바가G 2014.04.28
카메론님의 슬라이더 시리즈와 웹콘님의 최근게시물 시리즈가 라이브러리 충돌하는경우 [1] XE힘들당휴 2014.04.29