웹마스터 팁

7 Step. 입력받은 데이터를 MySQL DB에 입력합니다.
write_ok.php3 파일내용
1 <?
2   include "lib.php3";
3   include "dbconn.php3";
4
5   // 암호, 이름, 내용에 대해서 입력을 하지 않았을 경우 에러메세지 출력
6   if(isBlank($password)) message("암호를 입력하셔야 합니다");
7   if(isBlank($writer)) message("이름을 입력하셔야 합니다");
8   if(isBlank($comment)) message("내용을 입력하셔야 합니다");
9
10   // 홈페이지 주소의 경우 http:// 가 없으면 붙임
11   if((!eregi("^http://",$homepage))&&$homepage) $homepage="http://".$homepage;
12
13   // 이름, 홈페이지, 메일, 본문내용 중 '등의 특수문자 존재시 앞에 (역슬래쉬)를 붙여줌
14   $writer=addslashes($writer);
15   $homepage=addslashes($homepage);
16   $email=addslashes($email);
17   $comment=addslashes($comment);
18
19   // 방명록 내용등에 html 태그등을 잘못 써서 화면이 깨지는 것 방지
20   $writer=avoid_crack($writer);
21   $email=avoid_crack($email);
22   $comment=avoid_crack($comment);
23
24   // html 사용하지 않을시 del_html() 함수로 태그를 일반문자로 변환
25   if(!$use_html) $comment=del_html($comment);
26
27   // 방명록의 본문 내용의 n(줄바꿈)을 <br> 태그로 변환
28   $comment=nl2br($comment);
29
30   // 현재 접속자의 IP주소 체크
31   $ip=$REMOTE_ADDR;
32
33   // 지금 글쓴 시간을 체크
34   $reg_date=time();
35
36   // 쿠키저장시 setcookie() 함수로 쿠키저장, time()+3600*24*365 -> 1년동안 저장
37   if($use_cookie)
38   {
39    setcookie("cookie_writer", $writer, time()+3600*24*365);
40    setcookie("cookie_homepage", $homepage, time()+3600*24*365);
41    setcookie("cookie_email", $email, time()+3600*24*365);
42   }
43
44   // DB에 입력
45   mysql_query("insert into $table_name (ip, password, writer, homepage, email, comment, reg_date)
46                values ('$ip','$password','$writer','$homepage','$email','$comment','$reg_date')", $connect)
47   or die(mysql_error());
48
49   header("location:list.php3");
50 ?>

내용설명

6~7 : isBlank()라는 lib.php3 파일에 저장되어 있는 문자열이 비었는지를 검사하는 함수로 비밀번호, 글쓴이, 내용이 비었는지를 검사하여 만약 비어 있다면 경고 메시지를 보여줍니다.

11 : 홈페이지 주소 입력시 http:// 가 없으면 나중에 엉뚱한 곳으로 링크가 되기 때문에 http:// 문자열을 검사하여 없으면 추가합니다.

14~17 : MySQL DB에 데이터를 입력할 때 ', (역슬래쉬) 등의 특수 기호가 있으면 입력에러가 나타납니다.
         addslashes() 함수를 이용하면 특수기호 앞에 한번더 (역슬래쉬)를 붙여서 에러를 방지합니다.
         * addslashes()하여 데이터를 DB에 입력한후 출력할때는 stripslashes()를 하여야지 원문으로 변환됩니다.

20~22 : <script>나 <meta> 태그등을 본문이나 이름등에 사용하였을시에 출력이 잘못되는 것을 방지합니다.
         "<" 문자를 "<" 문자로 변환하여 브라우저에 출력할 때 태그가 아닌 일반 문자로 출력을 합니다.

25 : write.php3 파일에서 html을 사용하지 않겠다고 하였을 때 lib.php3 파일에 있는 del_html() 함수를 이용하여 태그들을 일반 문자열로 바꾸어줍니다.

27 :  <textarea>에서 입력받은 값에서 줄바꿈표시는 <br>이 아닌 n입니다.
      브라우저에 출력할때는 n을 <br>로 바꾸어주어야지 줄바꿈이 이루어집니다.
      nl2br() 함수는 n을 <br>로 바꾸어 주는 함수입니다.

31 : $REMOTE_ADDR 이라는 환경변수에는 현재 접속한 방문객의 ip주소를 저장하고 있습니다.
     $ip 라는 변수에 방문객의 ip주소를 저장합니다.

34 : time() 함수는 1970년 1월 1일부터 시작하여 현재까지 1초 단위로 증가되는 값을 return하는 함수입니다.
     이 값은 date() 함수를 이용하여 원하는 형식으로 바꾸어 줄수 있습니다.

37~42 : 쿠키저장을 한다고 체크박스에 표시가 되었을 때 이름, 홈페이지, 메일주소의 값을 쿠키로 저장합니다.

45~47 : 입력된 값을 MySQL DB 에 입력합니다.

49 : header();를 이용하여 강제로 list.php3 파일로 이동시킵니다.
     만약 강제로 페이지 변환을 시키지 않았을 때 리프레쉬를 하게 되면 동일한 값이 계속 저장되기 때문에 꼭  강제로 페이지를 이동하여 주어야 합니다.
제목 글쓴이 날짜
구미오피 ⦑오피.CLUB⦒ 구미오피 구미출장마사지 구미오피 구미OP koykoyah 2025.02.20
구미오피 구미출장안마 ⦑오피.CLUB⦒ 구미OP 구미오피 구미오피 koykoyah 2025.02.20
청주오피 ⦑오피쓰주소.COM⦒ 청주OP 청주오피 청주출장샵 청주오피 koykoyah 2025.02.20
동두천오피 동두천OP ⦑출장안마사이트.COM⦒ 동두천휴게텔 동두천오피 동두천오피 koykoyah 2025.02.20
강북오피 ⦑오피쓰.COM⦒ 강북마사지 강북오피 강북오피 강북OP koykoyah 2025.02.20
압구정오피 ⦑오피쓰주소.COM⦒ 압구정마사지 압구정오피 압구정오피 압구정OP koykoyah 2025.02.20
강남오피 ⦑오피쓰주소.COM⦒ 강남오피 강남OP 강남건마 강남오피 koykoyah 2025.02.20
해운대오피 해운대출장안마 ⦑오피.CLUB⦒ 해운대OP 해운대오피 해운대오피 koykoyah 2025.02.20
구미오피 ⦑출장안마사이트.COM⦒ 구미오피 구미OP 구미건마 구미오피 koykoyah 2025.02.20
판교오피 ⦑오피.CLUB⦒ 판교오피 판교OP 판교건마 판교오피 koykoyah 2025.02.20
강서오피 ⦑출장안마사이트.COM⦒ 강서오피 강서출장마사지 강서오피 강서OP koykoyah 2025.02.20
창원오피 ⦑출장마사지안내.COM⦒ 창원오피 창원출장마사지 창원오피 창원OP koykoyah 2025.02.20
부산오피 ⦑출장마사지안내.COM⦒ 부산마사지 부산오피 부산오피 부산OP koykoyah 2025.02.20
울산오피 울산OP ⦑출장안마사이트.COM⦒ 울산휴게텔 울산오피 울산오피 koykoyah 2025.02.20
의정부오피 의정부오피 ⦑오피사이트.NET⦒ 의정부OP 의정부스파 의정부오피 koykoyah 2025.02.20
안산오피 ⦑오피.CLUB⦒ 안산마사지 안산오피 안산오피 안산OP koykoyah 2025.02.20
부산오피 ⦑오피쓰.COM⦒ 부산마사지 부산오피 부산오피 부산OP koykoyah 2025.02.20
가락오피 가락출장안마 ⦑오피쓰주소.COM⦒ 가락OP 가락오피 가락오피 koykoyah 2025.02.20
부천오피 ⦑오피.CLUB⦒ 부천마사지 부천오피 부천오피 부천OP koykoyah 2025.02.20
홍대오피 홍대OP ⦑출장마사지안내.COM⦒ 홍대휴게텔 홍대오피 홍대오피 koykoyah 2025.02.20