노벨보드 만들기 [6] 정보
기타 노벨보드 만들기 [6]본문
게시판 만들기 5화
지난번에 넘어간 스크립트 부분을 보도록 하겠습니다.
첫번째 그림에서와 같이 스크립트 내부에서는
폼이름.입력문이름.입력값
의 형식으로 HTML에서 입력받은(form문 안의 입력문에서) 변수값을 사용할 수 있습니다.
그림에서 이해하기 쉽도록(?) 색이 있는 밑줄로 표시해 두었으므로 참고 하시기 바랍니다.
자바 스크립트 내부에서 사용한 함수에 대해서도 그림에 표시 되어 있습니다.
( 설명이 부실합니다. T.T 이해는 하는데 설명이 어려운... -_-;; )
그림2은 post와 get방식의 차이점을 나타낸것입니다.
전에 말씀 드린데로 이부분은 차후에 하루시간을 정해 연재하겠습니다.
참고 하시라고 그림을 올려봤습니다.
이제 install.ok.php 에 들어 가겠습니다.
소스 분석 위주로 진행하겠으며 예제는 전 시간에 올려 드렸으므로 전시간 첨부파일을 참고 하시기 바랍니다.
<?
PHP 의 시작을 알립니다.
자바 스크립트를 사용할 때 전체 소스를 <script>와 </script>로 감싸는 것을 보셨을 것입니다.
이는 HTML 테그와 구분을 하기 위해 브라우저에 알려 주는 역확을 합니다.
PHP 는 <? 와 ?>로 시작과 끝을 알립니다.
/* DB 설정 파일 확인 */
if( file_exists( "../dbconfig.php" ) ) {
echo "설정 파일이 이미 있습니다.<br>재설치 하시려면 dbconfig.php 파일 삭제 하세요.";
exit;
}
if 는 비교하는 명령입니다.
if( $sam == 'sample' ) 라고 하면 $sam 이라는 변수에 들어 있는 값과 문자 sample 를 비교하라는 것입니다.
( 참고 : PHP에서 = 은 대입기호로, 등호는 == 을 사용합니다.
A = B B의 값을 A에 넣으라
A == B B와 A는 같다
=와 ==를 혼동하시는 분들이 있습니다. 주의를 요합니다. )
file_exists()은 파일이 있는지 확인하는 함수 입니다.
file_exists( "../dbconfig.php" ) 은 엄마 디렉토리에 dbconfig.php 파일이 있는 확인합니다.
있으면 1을 없으면 0을 리턴합니다.
if( file_exists( "../dbconfig.php" ) ) 엄마 디렉토리에서 dbconfig.php 파일이 있는지 확인하고 있다면 다음 실행
if문 바로 뒤에오는 내용은 참(1)일 때 실행 됩니다. { } 로 감싸면 어려 명령을 실행 할 수 있습니다.
exit 는 현재 에서 빠져 나가라는 명령입니다.
즉
if( file_exists( "../dbconfig.php" ) ) {
echo "설정 파일이 이미 있습니다.<br>재설치 하시려면 dbconfig.php 파일 삭제 하세요.";
exit;
}
dbconfig.php파일이 있는지 확인하고 있으면 메세지를 출력하고(echo명령) 나가라(exit) 하는 명령입니다.
여기서 dbconfig.php는 앞으로 게시판 사용시 DB에 필요한 자료로 install_ok.php로 오기전 index.php에서 입력 받은 값이 저장되어 있는 파일입니다.
우리는 처음 하는 것이므로 당연히 파일이 없습니다.
if문은 실행되지 않으므로 다음으로 넘어 갑니다.
재설치 방지용으로 사용합니다.
재설치를 강제로 해 줄경우 dbconfig.php 파일을 지우고 실행하면 됩니다.
/* 퍼미션 검사 */
if( !( ( fileperms( "../" ) == 16839 ) || ( fileperms( "../" ) == 16895 ) ) ) {
echo "<title>Novel-Board Install : permission setting</title>";
echo "설치 폴더의 권한이 707 또는 777이 아닙니다.<br>권한을 777로 수정 후 설치하세요.";
exit;
}
퍼미션 부분은 "게시판 만들기"라는 제목으로 제가 올린 글을 참고 하시기 바랍니다.
?>
PHP 소스 닫기, 프로그램 종료 아님, HTML 소스를 쓰기 위해 잠시 닫음
<meta http-equiv='content-type' content='text/html; charset=euc-kr'>
<title>Novel-Board Install : setting saving</title>
<style>body, td, p, input, button, textarea, select { color:#222222; font-family:굴림; font-size:12px; }</style>
이부분은 HTML 소스로 페이지를 한글로 설정하고 브라우저 상단에 나올 제목을 설정하고 앞으로 화면에 출력될 스타일을 설정합니다.
<?
PHP 소스를 쓰기 위해 다시 PHP를 쓰겠다고 알림
/* 설치 경로 */
$root = $DOCUMENT_ROOT."/";
$base = substr($SCRIPT_NAME, 1);
$base = substr($base, 0, strlen($base) - strlen(strstr($base, "/")))."/";
$path = $root.$base;
이부분은 게시판이 설치된 위치를 자동으로 찾아내는 소스인데 참고하기라고 넣었습니다.
절대 주소를 사용할 때 사용하는데 나중에 사용할지 아님 상대주소로 할지는 아직 미정입니다.
다음으로 각 테이블들이 보입니다.
이것은 전에 설명한 적이 있으므로 넘어갑니다.
/* mysql_query 와 mysql_error 를 한꺼번에 처리 */
function sql_query( $sql ) {
global $connect;
$result = mysql_query( $sql, $connect ) or die( "<p>$sql<p>" . mysql_errno() . " : " . mysql_error() );
return $result;
}
이 부분은 그누보드를 참고 했습니다.
DB 데이타를 처리하기 위한 명령을 입력받고 에러인 경우 에러 메세지를 출력하는 함수 입니다.
/* 문자를 암호화 */
function pass_make( $nm_passwd ) {
$num = crypt( md5( '$nm_passwd' ), chr( mt_rand( 176, 223 ) ).chr( mt_rand( 176, 223 ) ) );
return $num;
}
이부분은 지난 연재에서 다루었습니다.
앞 연재물들을 보시기 바랍니다.
/* MySQL 접속 */
$connect = @mysql_connect( $host_name, $db_user_id, $db_pass )
or die( "MySQL 접속 에러 !!<br>MySQL 접속 정보를 다시 확인해 보시기 바랍니다.<p><input type=button value=' 뒤 로 ' onclick='history.go(-1);'>" );
@mysql_select_db($db_name, $connect)
or die("MySQL DB 에러 !!<br>MySQL DB를 확인하십시오.<p><input type=button value=' 뒤 로 ' onclick='history.go(-1);'>");
역시 앞 연재에서 다루었습니다.
오늘은 제가 졸린관계로(^^;;) 이만 줄이고 내일(아니 오늘인가?)은 우리가 만든 테이블을 DB에 저장하는 방법에 대해 이야기를 진행해 나가도록 하겠습니다.
그럼 좋은밤 되시기 바랍니다.
지난번에 넘어간 스크립트 부분을 보도록 하겠습니다.
첫번째 그림에서와 같이 스크립트 내부에서는
폼이름.입력문이름.입력값
의 형식으로 HTML에서 입력받은(form문 안의 입력문에서) 변수값을 사용할 수 있습니다.
그림에서 이해하기 쉽도록(?) 색이 있는 밑줄로 표시해 두었으므로 참고 하시기 바랍니다.
자바 스크립트 내부에서 사용한 함수에 대해서도 그림에 표시 되어 있습니다.
( 설명이 부실합니다. T.T 이해는 하는데 설명이 어려운... -_-;; )
그림2은 post와 get방식의 차이점을 나타낸것입니다.
전에 말씀 드린데로 이부분은 차후에 하루시간을 정해 연재하겠습니다.
참고 하시라고 그림을 올려봤습니다.
이제 install.ok.php 에 들어 가겠습니다.
소스 분석 위주로 진행하겠으며 예제는 전 시간에 올려 드렸으므로 전시간 첨부파일을 참고 하시기 바랍니다.
<?
PHP 의 시작을 알립니다.
자바 스크립트를 사용할 때 전체 소스를 <script>와 </script>로 감싸는 것을 보셨을 것입니다.
이는 HTML 테그와 구분을 하기 위해 브라우저에 알려 주는 역확을 합니다.
PHP 는 <? 와 ?>로 시작과 끝을 알립니다.
/* DB 설정 파일 확인 */
if( file_exists( "../dbconfig.php" ) ) {
echo "설정 파일이 이미 있습니다.<br>재설치 하시려면 dbconfig.php 파일 삭제 하세요.";
exit;
}
if 는 비교하는 명령입니다.
if( $sam == 'sample' ) 라고 하면 $sam 이라는 변수에 들어 있는 값과 문자 sample 를 비교하라는 것입니다.
( 참고 : PHP에서 = 은 대입기호로, 등호는 == 을 사용합니다.
A = B B의 값을 A에 넣으라
A == B B와 A는 같다
=와 ==를 혼동하시는 분들이 있습니다. 주의를 요합니다. )
file_exists()은 파일이 있는지 확인하는 함수 입니다.
file_exists( "../dbconfig.php" ) 은 엄마 디렉토리에 dbconfig.php 파일이 있는 확인합니다.
있으면 1을 없으면 0을 리턴합니다.
if( file_exists( "../dbconfig.php" ) ) 엄마 디렉토리에서 dbconfig.php 파일이 있는지 확인하고 있다면 다음 실행
if문 바로 뒤에오는 내용은 참(1)일 때 실행 됩니다. { } 로 감싸면 어려 명령을 실행 할 수 있습니다.
exit 는 현재 에서 빠져 나가라는 명령입니다.
즉
if( file_exists( "../dbconfig.php" ) ) {
echo "설정 파일이 이미 있습니다.<br>재설치 하시려면 dbconfig.php 파일 삭제 하세요.";
exit;
}
dbconfig.php파일이 있는지 확인하고 있으면 메세지를 출력하고(echo명령) 나가라(exit) 하는 명령입니다.
여기서 dbconfig.php는 앞으로 게시판 사용시 DB에 필요한 자료로 install_ok.php로 오기전 index.php에서 입력 받은 값이 저장되어 있는 파일입니다.
우리는 처음 하는 것이므로 당연히 파일이 없습니다.
if문은 실행되지 않으므로 다음으로 넘어 갑니다.
재설치 방지용으로 사용합니다.
재설치를 강제로 해 줄경우 dbconfig.php 파일을 지우고 실행하면 됩니다.
/* 퍼미션 검사 */
if( !( ( fileperms( "../" ) == 16839 ) || ( fileperms( "../" ) == 16895 ) ) ) {
echo "<title>Novel-Board Install : permission setting</title>";
echo "설치 폴더의 권한이 707 또는 777이 아닙니다.<br>권한을 777로 수정 후 설치하세요.";
exit;
}
퍼미션 부분은 "게시판 만들기"라는 제목으로 제가 올린 글을 참고 하시기 바랍니다.
?>
PHP 소스 닫기, 프로그램 종료 아님, HTML 소스를 쓰기 위해 잠시 닫음
<meta http-equiv='content-type' content='text/html; charset=euc-kr'>
<title>Novel-Board Install : setting saving</title>
<style>body, td, p, input, button, textarea, select { color:#222222; font-family:굴림; font-size:12px; }</style>
이부분은 HTML 소스로 페이지를 한글로 설정하고 브라우저 상단에 나올 제목을 설정하고 앞으로 화면에 출력될 스타일을 설정합니다.
<?
PHP 소스를 쓰기 위해 다시 PHP를 쓰겠다고 알림
/* 설치 경로 */
$root = $DOCUMENT_ROOT."/";
$base = substr($SCRIPT_NAME, 1);
$base = substr($base, 0, strlen($base) - strlen(strstr($base, "/")))."/";
$path = $root.$base;
이부분은 게시판이 설치된 위치를 자동으로 찾아내는 소스인데 참고하기라고 넣었습니다.
절대 주소를 사용할 때 사용하는데 나중에 사용할지 아님 상대주소로 할지는 아직 미정입니다.
다음으로 각 테이블들이 보입니다.
이것은 전에 설명한 적이 있으므로 넘어갑니다.
/* mysql_query 와 mysql_error 를 한꺼번에 처리 */
function sql_query( $sql ) {
global $connect;
$result = mysql_query( $sql, $connect ) or die( "<p>$sql<p>" . mysql_errno() . " : " . mysql_error() );
return $result;
}
이 부분은 그누보드를 참고 했습니다.
DB 데이타를 처리하기 위한 명령을 입력받고 에러인 경우 에러 메세지를 출력하는 함수 입니다.
/* 문자를 암호화 */
function pass_make( $nm_passwd ) {
$num = crypt( md5( '$nm_passwd' ), chr( mt_rand( 176, 223 ) ).chr( mt_rand( 176, 223 ) ) );
return $num;
}
이부분은 지난 연재에서 다루었습니다.
앞 연재물들을 보시기 바랍니다.
/* MySQL 접속 */
$connect = @mysql_connect( $host_name, $db_user_id, $db_pass )
or die( "MySQL 접속 에러 !!<br>MySQL 접속 정보를 다시 확인해 보시기 바랍니다.<p><input type=button value=' 뒤 로 ' onclick='history.go(-1);'>" );
@mysql_select_db($db_name, $connect)
or die("MySQL DB 에러 !!<br>MySQL DB를 확인하십시오.<p><input type=button value=' 뒤 로 ' onclick='history.go(-1);'>");
역시 앞 연재에서 다루었습니다.
오늘은 제가 졸린관계로(^^;;) 이만 줄이고 내일(아니 오늘인가?)은 우리가 만든 테이블을 DB에 저장하는 방법에 대해 이야기를 진행해 나가도록 하겠습니다.
그럼 좋은밤 되시기 바랍니다.
추천
0
0
댓글 1개
오 멋집니다.. 계속 꼭 힘내서 해주세요^^ 화이팅