웹마스터 팁

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/ 로 방문하실 수 있습니다.

제목 글쓴이 날짜
[javascript] 기초강좌 | 03 논리연산자, 비트, 삼항연산자, 기타연산자 hiwebs 2014.07.02
[10원팁] 서버에 계정추가후 새로설치하는데 CSS가 깨진다? [3] 키스미베이베 2014.02.27
회원가입시 닉네임 특수문자 제한하기 [10] 절망린 2009.06.06
[nginx] Rewrite 예외 설정 okiz 2014.06.30
관리자 비밀번호 분실시 phpmyadmin을 이용하여 재설정하는 방법 [6] elancer 2014.03.11
BlogAPI 활용하기 file 맞장 2014.06.29
min.js min.css 정리해서 보기 Happyphp 2014.06.26
부트스트랩 css 팁 [3] 돼지코구뇽 2014.04.05
추천과 추천포인트 관련 팁 [8] 고진감래 2009.09.30
관리자가 글 쓸때는 분류를 선택 안 해도 등록되도록 (공지글을 쓸때를 위해) 개선 [2] sejin7940 2014.06.21
템플릿 파일에서 일반 PHP 코드 사용 [3] 화니군 2007.08.28
XE에서 신디케이션 제거하기 [1] mAKEkr 2014.06.20
에디터에서 나눔고딕 웹폰트, 기본글꼴로 적용하기(구글API이용) [6] file 애니즌 2014.06.06
관리자페이지에서 콘텐츠->파일 에서 등록된 파일 전체 리스트에 이미지가 바로 나타나도록 [2] sejin7940 2014.06.19
Apache .htaccess 작성요령 [10] 컴매냐 2013.09.19
목록에서 이미지 팝업 이용하기 Happyphp 2014.06.19
include용 파일에는 닫는 php문이 없다? file YJSoft 2014.04.14
레이아웃에 배경이미지 업로드 하고 적용시키기 [1] 웹빌드ver2 2014.06.10
Windows 서버에서 XE 속도 대폭 개선 방법 [29] StyleRoot 2013.02.25
Google Public DNS 강제 Flush Cache 하기 AJKJ 2014.06.08