Thursday, November 15, 2007

Javascript Cookies

Create and Store a Cookie

In this example we will create a cookie that stores the name of a
visitor. The first time a visitor arrives to the web page, he or she
will be asked to fill in her/his name. The name is then stored in a
cookie. The next time the visitor arrives at the same page, he or she
will get welcome message.

First, we create a function that stores the name of the visitor in a
cookie variable:

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

The parameters of the function above hold the name of the cookie, the
value of the cookie, and the number of days until the cookie expires.

In the function above we first convert the number of days to a valid
date, then we add the number of days until the cookie should expire.
After that we store the cookie name, cookie value and the expiration
date in the document.cookie object.

Then, we create another function that checks if the cookie has been set:

function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}

The function above first checks if a cookie is stored at all in the
document.cookie object. If the document.cookie object holds some
cookies, then check to see if our specific cookie is stored. If our
cookie is found, then return the value, if not - return an empty
string.

Last, we create the function that displays a welcome message if the
cookie is set, and if the cookie is not set it will display a prompt
box, asking for the name of the user:

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}

All together now:

<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
</script>
</head>

<body onLoad="checkCookie()">
</body>
</html>

The example above runs the checkCookie() function when the page loads.

--
Thankyou
with regards
Shanmugarajan.k

http://letus-know.blogspot.com/

No comments:

Post a Comment