쿠키 사용법

Cookie를 구현하려면 기본적으로 두 개의 스크립트 함수가 필요한데
setcookie(name,expdate)와 getcookie(name)가 그 두 함수입니다.

이 함수들은 별로 어렵지는 않지만 이미 다른 사람들이
잘 구현해 놓았으므로 우리는 사용법만 알면됩니다.

setcookie(name,expdate)에서 name은 자신이 사용하고자하는
cookie 이름입니다. 이 이름은 다른 쿠키와 겹치지 않도록
특이하게 짓는 것이 좋습니다.
expdate는 쿠키가 저장될 기간입니다. expdate가 지나면
쿠키는 지워집니다.

getcookie(name)는 주어진 이름의 쿠키를 읽어들입니다.

그 외에도 delcookie()라는 것도 있는데,
이것은 저장된 쿠키를 지우는 겁니다.
하지만 지금 다루고 있는 예에서는 사용되지 않습니다.


<html>
<head>
<script language="JavaScript">
<!--HIde

/**********************************************************
3. Cookie의 사용 예 (소스)

다음은 cookie를 사용하는 예입니다.
( 이 글 전체는 html형식입니다.
따라서 이 글을 다운 받으신 후 파일명을 test.html등으로
바꾼후 바로 사용 가능합니다.)
***********************************************************/


/* This code is Copyright (c) 1996 Nick Heinle and Athenia Associates,
 * all rights reserved. In order to receive the right to license this
 * code for use on your site the original code must be copied from the
 * Web site webreference.com/javascript/. License is granted to user to
 * reuse this code on their own Web site if and only if this entire copyright
 * notice is included. Code written by Nick Heinle of webreference.com.
 */

function getCookie (name) {
var dcookie = document.cookie;
var cname = name + "=";
var clen = dcookie.length;
var cbegin = 0;
        while (cbegin < clen) {
        var vbegin = cbegin + cname.length;
                if (dcookie.substring(cbegin, vbegin) == cname) {
                var vend = dcookie.indexOf (";", vbegin);
                        if (vend == -1) vend = clen;
                return unescape(dcookie.substring(vbegin, vend));
                }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
                if (cbegin == 0) break;
        }
return null;
}

function setCookie (name, value, expires) {
        if (!expires) expires = new Date();
document.cookie = name + "=" + escape (value) +
"; expires=" + expires.toGMTString() +  "; path=/";
}

function show_name() {
    if(getCookie(cookieName) != null) {
         document.write("Welcome Back <b><i>" + getCookie(cookieName) +
            "</b></i>. ");
    }
    else document.write ("<font color=blue><h2>Welcome Your First Visit !"
      + "</h2><FORM>Let me Know Your Name:"
      + " <INPUT TYPE = 'text' NAME = 'nameinput'>"
      + "&nbsp;<INPUT TYPE = 'button' VALUE = 'Ok'"
      + " onClick = 'set_name(this.form)'>"
      + "</FORM></font>");
}


function set_name(form) {
var expdate = new Date ();
var num = 1;
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
var username = form.nameinput.value
        if (username != '') {
                setCookie(cookieName, username, expdate);
                window.history.go(0);                       
        }
}

cookieName = "_nameXYZ";
//-->

</script>
</head>
<body>
<p>
<script>
<!--
show_name();
//-->
</script>
</body>
</html>

 


 

댓글

이 블로그의 인기 게시물

XCOPY를 이용한 당일날짜의 파일만 카피하는방법

뽀롱 뽀롱 뽀로로 DVD 목록

SYSLOG-NG와 MySQL 을 이용한 시스로그 응용 하기