웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
교육용 메모장 #2
2000.07.10 15:31
4. 라이브러리(library) 만들기
라이브러리가 무엇일까요?
많이 쓰이는 기능을 따로 모아두면 매우 편리하게 쓸수 있겠죠?
예를 들어 MySQL DB에 접속하는 기능, 입력받은 문자열이 빈문자열인지 아닌지 입력하는 등의 기능을 함수(function)로 만들어서 따로 모아놓은 것이 라이브러리입니다.
메모장에서는 어떤 함수가 필요할까요?
우선 MySQL DB에 접속하는 함수가 필요합니다.
그리고 빈문자열인지 아닌지 검사하는 함수가 필요하죠.
HTML 태그를 일반 텍스트로 출력하는 함수와 어떤 에러가 났을 때 브라우저에 출력하는 함수가 필요합니다.
그럼 각각의 함수에 대하여 알아봅시다.
i. MySQL DB에 접속하는 함수.
MySQL DB에 접속하기 위해서 사용하는 함수는 mysql_connect() 함수입니다.
$connect=mysql_connect("DB서버주소","DB 아이디","DB비밀번호");
그리고 자신의 DB를 선택하는 함수는 mysql_select_db()입니다.
mysql_select_db("DB이름");
그럼 자신의 MySQL DB에 접속하여 자신에게 할당된 DB를 선택하는 것을 알아봅시다.
$connect=mysql_connect("DB서버주소","DB 아이디","DB비밀번호") or die(mysql_eerror());
mysql_select_db("DB이름");
위의 두줄만 있으면 자신의 DB에 접속할수 있습니다. 간단하죠?
$connect 변수에는 DB에 접속했을 때 결과값이 들어값니다.
만약 제대로 접속이 되지 않았다면 0이, 성공적으로 접속이 되었다면 1이라는 값이 들어값니다.
ii. 입력된 문자열이 비어있는 지를 검사하는 함수.
메모장에서 입력을 받는 것은 이름과 내용 2가지입니다.
만약 이 2가지중 하나라도 빈칸, 또는 스페이스바만 쳐서 입력을 한다면 검사를 해서 막아야 겠죠?
function isBlankStr($str) {
if(eregi("[^[:space:]]",$str)) return 0;
return 1;
}
위에서 eregi("[^[:space:]]",$str) 이라는 부분이 보이시죠?
이 부분은 정규표현식이라고 불리우는 것입니다.
eregi() 라는 함수는 문자열 변수에 찾고자 하는 값이 있는지 없는지를 검사합니다.
[^[:space:]] 는 space, 즉 빈문자열이 아닐 때 0 이라는 값을 리턴하게 하는것입니다.
만약 아무 글자라도 한 글자 이상 있게 된다면 0 이 리턴되고 아무 글자도 없이, 그냥 공백만 있다면 1을 리턴하게 됩니다.
iii. HTML 태그를 일반 Text 로 변환
메모장 내용중에 잘못된 HTML 태그나 일부러 잘못쓴 태그가 들어가게 된다면 화면이 깨어질수가 있습니다.
예를 들어 <script 라고만 입력한다면 그 다음부터는 아무것도 출력이 되지 않습니다.
그렇기 때문에 모든 태그를 막아야 합니다.
막는 방법은 간단합니다. <를 < 로 바꾸어주기만 하면 됩니다.
그럼 브라우저상에서는 < 로 출력이 되기 때문입니다.
function del_html ($str)
{
$str = str_replace( ">", ">",$str );
$str = str_replace( "<", "<",$str );
$str = str_replace( """, """,$str );
return $str;
}
iv. 에러 표시하기
CGI상에서 에러가 날 경우 화면에 표시를 해야합니다.
위의 i,ii,iii에서 에러가 나면 자바스크립트를 이용해서 Alert, 즉 경고메세지를 보여주는 함수를 만들어봅시다.
function message ($message)
{
echo "
<script>
window.alert ("$message");
history.go(-1);
</script>
";
}
라이브러리가 무엇일까요?
많이 쓰이는 기능을 따로 모아두면 매우 편리하게 쓸수 있겠죠?
예를 들어 MySQL DB에 접속하는 기능, 입력받은 문자열이 빈문자열인지 아닌지 입력하는 등의 기능을 함수(function)로 만들어서 따로 모아놓은 것이 라이브러리입니다.
메모장에서는 어떤 함수가 필요할까요?
우선 MySQL DB에 접속하는 함수가 필요합니다.
그리고 빈문자열인지 아닌지 검사하는 함수가 필요하죠.
HTML 태그를 일반 텍스트로 출력하는 함수와 어떤 에러가 났을 때 브라우저에 출력하는 함수가 필요합니다.
그럼 각각의 함수에 대하여 알아봅시다.
i. MySQL DB에 접속하는 함수.
MySQL DB에 접속하기 위해서 사용하는 함수는 mysql_connect() 함수입니다.
$connect=mysql_connect("DB서버주소","DB 아이디","DB비밀번호");
그리고 자신의 DB를 선택하는 함수는 mysql_select_db()입니다.
mysql_select_db("DB이름");
그럼 자신의 MySQL DB에 접속하여 자신에게 할당된 DB를 선택하는 것을 알아봅시다.
$connect=mysql_connect("DB서버주소","DB 아이디","DB비밀번호") or die(mysql_eerror());
mysql_select_db("DB이름");
위의 두줄만 있으면 자신의 DB에 접속할수 있습니다. 간단하죠?
$connect 변수에는 DB에 접속했을 때 결과값이 들어값니다.
만약 제대로 접속이 되지 않았다면 0이, 성공적으로 접속이 되었다면 1이라는 값이 들어값니다.
ii. 입력된 문자열이 비어있는 지를 검사하는 함수.
메모장에서 입력을 받는 것은 이름과 내용 2가지입니다.
만약 이 2가지중 하나라도 빈칸, 또는 스페이스바만 쳐서 입력을 한다면 검사를 해서 막아야 겠죠?
function isBlankStr($str) {
if(eregi("[^[:space:]]",$str)) return 0;
return 1;
}
위에서 eregi("[^[:space:]]",$str) 이라는 부분이 보이시죠?
이 부분은 정규표현식이라고 불리우는 것입니다.
eregi() 라는 함수는 문자열 변수에 찾고자 하는 값이 있는지 없는지를 검사합니다.
[^[:space:]] 는 space, 즉 빈문자열이 아닐 때 0 이라는 값을 리턴하게 하는것입니다.
만약 아무 글자라도 한 글자 이상 있게 된다면 0 이 리턴되고 아무 글자도 없이, 그냥 공백만 있다면 1을 리턴하게 됩니다.
iii. HTML 태그를 일반 Text 로 변환
메모장 내용중에 잘못된 HTML 태그나 일부러 잘못쓴 태그가 들어가게 된다면 화면이 깨어질수가 있습니다.
예를 들어 <script 라고만 입력한다면 그 다음부터는 아무것도 출력이 되지 않습니다.
그렇기 때문에 모든 태그를 막아야 합니다.
막는 방법은 간단합니다. <를 < 로 바꾸어주기만 하면 됩니다.
그럼 브라우저상에서는 < 로 출력이 되기 때문입니다.
function del_html ($str)
{
$str = str_replace( ">", ">",$str );
$str = str_replace( "<", "<",$str );
$str = str_replace( """, """,$str );
return $str;
}
iv. 에러 표시하기
CGI상에서 에러가 날 경우 화면에 표시를 해야합니다.
위의 i,ii,iii에서 에러가 나면 자바스크립트를 이용해서 Alert, 즉 경고메세지를 보여주는 함수를 만들어봅시다.
function message ($message)
{
echo "
<script>
window.alert ("$message");
history.go(-1);
</script>
";
}
댓글 18
-
Kesarr
2000.11.30 18:17
제로님 실수 하셨네여.. 여기선 &를 특수문자로 다시 한단계 더 바꿔줘야지 제대로^^;; -
test
2000.12.29 04:58
해도되나요? -
지원
2001.03.14 18:14
어떻게 하는 거야 으악 --;;; -
노혜지
2001.04.06 21:45
허걱-_-;; -
주영훈
2001.05.07 01:24
;l -
정다운
2001.05.17 19:18
뭔말인지 하나도 모르겠네여 -
zzini
2001.06.15 17:27
아휴...어려워..학교인데 공부하기 어렵다.. -
김광명
2001.07.05 21:18
ㅜ.ㅜ무슨말인지 몰겠어요ㅜ.ㅜ -
지국환
2001.07.06 21:18
$str = str_replace( """, """,$str ); 부분에서 에러나는데요 -
강연주
2001.07.25 20:06
이걸 php에서 함수를 직접써가면서 만드는 건가요? -
강연주
2001.07.25 20:07
php를 깔긴했는데, 어케사용하는지 모르겠어여 -
rlarldud
2001.10.22 15:43
< -
[날º㉦º개]
2002.02.05 23:07
' ^')a 움..어렵다.. -
미녕쓰
2003.08.20 18:11
미쵸미쵸미쵸~ 뭔말이여 ㅠ ㅠ; -
(: 안호진 :)
2003.11.05 07:25
$str = str_replace( """, """,$str ); --> 이게 모길레 자꾸 에러 나는 걸까요? -
(: 안호진 :)
2003.11.05 07:35
여건 성공한거 같은 느낌인데 ㅡ.ㅜ memo.php 어렵당.. -
하라주크
2007.08.02 00:39
흠 ""으로해줘야되지않을까요? -
하라주크
2007.08.02 00:45
$str = str_replace( """, """,$str ); >> $str = str_replace( "","",$str ); 로바꿔주세요 'ㅅ'
window.alert ("$message"); 말고 window.alert ('$message'); 로하시고
history.go(-1); 대신 history.hack(1); 도되요 'ㅅ'
제목 | 글쓴이 | 날짜 |
---|---|---|
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] | [폐]허접-_- | 2002.03.18 |
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] | ☺[폐]허접-_- | 2002.01.24 |
PHP 인증 페이지를 만들자! - Lesson 1 수정본 #2 | ☺[폐]허접-_- | 2002.01.24 |
노프레임/카운터에 관련된 PHP함수 팁 몇가지 [1] | 차카게살자 | 2001.12.28 |
MySQL 루트비번 분실시 대처요령 [29] | zero | 2001.04.18 |
교육용 방명록 #8 [delete.php3파일에서 넘겨받은 비밀번호를 검사하여 글을 삭제합니다.] [18] | zero | 2000.07.03 |
교육용 방명록 #7 [삭제 버튼을 눌렀을 때 비밀번호를 입력받는 부분입니다.] [5] | zero | 2000.07.03 |
교육용 방명록 #6 [수정된 값을 넘겨받아서 비밀번호를 비교하고 변경하여 줍니다.] [2] | zero | 2000.07.03 |
교육용 방명록 #3 [글쓰기 폼에서 넘어온 값을 DB에 입력하기] [5] | zero | 2000.07.03 |
교육용 방명록 #2 [글쓰기 폼 작성] [11] | zero | 2000.07.03 |
교육용 방명록 #1 [전체구성 설정, 테이블 생성, 기본함수 정의] [50] | zero | 2000.07.03 |
최근 게시물을 나타내는 원리와 방법 [55] | zero | 2000.03.06 |
교육용 메모장 #5 [21] | zero | 2000.07.10 |
교육용 메모장 #4 [18] | zero | 2000.07.10 |
교육용 메모장 #3 [16] | zero | 2000.07.10 |
교육용 메모장 #2 [18] | zero | 2000.07.10 |
교육용 메모장 #1 [53] | zero | 2000.07.10 |
윈2000, NT 또는 98에서 APM설치하기 [74] | zero | 2000.08.26 |
MySQL DB 데이타 백업/복구 하는 방법 [38] | zero | 2000.08.26 |
자동링크 만드는 방법!!! [28] | zero | 2000.03.06 |