웹마스터 팁

교육용 메모장 #2

2000.07.10 15:31

zero

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>
  ";
}
제목 글쓴이 날짜
Thinking In Java 2nd Edition file n25 2004.01.14
[초간단 자바스크립트!] 홈페이지접속 시간,날짜 표시기 [3] ∑Ztxy 2004.01.09
아기창 자동으루 띄우고 엄마창 자동으루 죽이기 -_-;; [13] 후르츠 2004.01.09
마우스 올리면 링크 텍스트를 무지개빛으로_12시20분 수정.;; [1] keymove 2004.01.06
[초간단 자바스크립트!] 아이프레임 이용한 이미지 갤러리(?) ∑Ztxy 2004.01.02
화면 오른쪽 아래부분에 떠있는 메뉴 레이어(마우스 오버시 부메뉴 펼쳐짐) [7] 봉팀장 2003.12.30
링크에 마우스를 올리면 배경 변하게 하는 소스 봉팀장 2003.12.30
들어갈때 시작페이지 설정하는거... [2] 쉿!비밀 2003.12.17
소스보기를 일부 차단하는 방법입니다. [12] Juny. 2003.12.12
오른버튼 누를때 메뉴 뜨게하기(깔끔버전) [5] file 2003.12.09
소스연구1 테이블 자동으로 늘었다 커지기 태클환영 [9] 박한웅 2003.12.04
크리스마스 날짜 카운터 [1] keymove 2003.12.04
익스플로러에서 인쇄 누르면 페이지 이동.... [3] 조한웅 2003.11.28
3D 효과의 원형 거울을 띄우자. [6] 줄리앙 2003.11.21
팝업공지창 다시 안뜨게 하는 소스[날짜지정가능] [17] lemin 2003.11.20
자바로 만들어진 계산기 [1] 현규웅 2003.11.20
동영상 오른쪽 버튼 방지 소스 입니다... [9] 김성목 2003.11.15
플래시느낌의 유동적인 메뉴 [9] jabusim 2003.11.13
심플한 원단위를 콤마로 나타내주기 [2] zentoo.com 2003.11.11
날짜카운터 숫자로만 입력하자. [3] TechnoKevin™ 2003.11.08