Chap 9.
파일이 하나 둘 늘어가고 있습니다. 그러다 보니, 상단의 공통된 내용들이 보이네요.
BODY 태그 안의 내용은 페이지에따라 달라지겠지만, DB관련 코드나, 세션 관련 코드들이 중복되네요.
이 내용들을 하나의 파일로 만들어두고, 각 페이지에서 include() 계열 함수를 이용해서 포함시키도록 하겠습니다.
함수 설명은 PHP 카테고리에서 찾을 수 있습니다.
어디서 어디까지를 잘라낼까요?
일단 아래 정도 preset.php 로 만들어 둡시다.
<?php session_start(); $p = array(); $path['root'] = $_SERVER['DOCUMENT_ROOT'].'/'; require_once ($path['root'].'config.php'); $mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']); if (mysqli_connect_error()) { exit('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); } extract($_POST); extract($_GET); ?> |
모든 파일의 상단에 preset.php 를 포함하도록 코드를 작성해야겠네요.
require_once( 'preset.php' );
...라고 적어봤더니... 이런..파일 경로가 문제네요. 파일의 위치와는 무관하게 항상 preset.php 를 포함시킬 수 있으려면, 상대경로가 아닌 절대경로로 preset.php 파일의 위치를 지정해줘야겠습니다.
위에 보이는 config.php 의 경로도 위치에 따라서 문제가 될 수 있겠네요.
서버 환경변수를 이용해야겠습니다.
수퍼글로벌 변수 중에 $_SERVER[] 가 있습니다.
배열 첨자에 따라서 여러가지 값을 구할 수 있습니다. 지금 우리에게 필요한건 DOCUMENT_ROOT 입니다.
require_once($_SERVER['DOCUMENT_ROOT'].'/preset.php');
모든 작성하는 파일 상단에 위 코드를 삽입해서 www 디렉토리 아래에 있는 preset.php를 포함시키도록 합니다. preset.php 는 공통적으로 사용될 모든 코드를 넣어두면 되겠습니다.
하나하나 다 보여줄 수 없으니, 이제 압축해서 파일로 업로드를 하겠습니다.
이상!
'PHP 게시판 만들기' 카테고리의 다른 글
11. 트위터 부트스트랩 이용해서 레이아웃 만들기 (2) | 2012.12.14 |
---|---|
10. 화면에 표시되는 내용 구분하기 (3) | 2012.12.13 |
8. session으로 로그인 정보 유지시키기 (33) | 2012.12.13 |
7. 로그인 페이지 만들기 (23) | 2012.12.12 |
6. 가입 정보 저장 후 완료 페이지로 전환하기 (13) | 2012.12.12 |
댓글