Jump to content

First time with cookies


DarkxPunk

Recommended Posts

Hello everyone!

 

The following is my first attempt at managing a cookie. I am simply looking for what you think of it, and how you think I can improve. I made this with a tutorial online and made the buttons myself.

 

 

 

<!DOCTYPE html><html>	<head>		<title></title>	</head>		<body>			<script>function Get_Cookie( check_name ) {	// first we'll split this cookie up into name/value pairs	// note: document.cookie only returns name=value, not the other components	var a_all_cookies = document.cookie.split( ';' );	var a_temp_cookie = '';	var cookie_name = '';	var cookie_value = '';	var b_cookie_found = false; // set boolean t/f default f	var i = '';		for ( i = 0; i < a_all_cookies.length; i++ )	{		// now we'll split apart each name=value pair		a_temp_cookie = a_all_cookies[i].split( '=' );						// and trim left/right whitespace while we're at it		cookie_name = a_temp_cookie[0].replace(/^s+|s+$/g, '');			// if the extracted name matches passed check_name		if ( cookie_name == check_name )		{			b_cookie_found = true;			// we need to handle case where cookie has no value but exists (no = sign, that is):			if ( a_temp_cookie.length > 1 )			{				cookie_value = unescape( a_temp_cookie[1].replace(/^s+|s+$/g, '') );			}			// note that in cases where cookie is initialized but no value, null is returned			return cookie_value;			break;		}		a_temp_cookie = null;		cookie_name = '';	}	if ( !b_cookie_found ) 	{		return null;	}}/*only the first 2 parameters are required, the cookie name, the cookievalue. Cookie time is in milliseconds, so the below expires will make the number you pass in the Set_Cookie function call the number of days the cookielasts, if you want it to be hours or minutes, just get rid of 24 and 60.Generally you don't need to worry about domain, path or secure for most applicationsso unless you need that, leave those parameters blank in the function call.*/function Set_Cookie( name, value, expires, path, domain, secure ) {	// set time, it's in milliseconds	var today = new Date();	today.setTime( today.getTime() );	// if the expires variable is set, make the correct expires time, the	// current script below will set it for x number of days, to make it	// for hours, delete * 24, for minutes, delete * 60 * 24	if ( expires )	{		expires = expires * 1000 * 60 * 60 * 24;	}	//alert( 'today ' + today.toGMTString() );// this is for testing purpose only	var expires_date = new Date( today.getTime() + (expires) );	//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only	document.cookie = name + "=" +escape( value ) +		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()		( ( path ) ? ";path=" + path : "" ) + 		( ( domain ) ? ";domain=" + domain : "" ) +		( ( secure ) ? ";secure" : "" );}// this deletes the cookie when calledfunction Delete_Cookie( name, path, domain ) {	if ( Get_Cookie( name ) ) document.cookie = name + "=" +			( ( path ) ? ";path=" + path : "") +			( ( domain ) ? ";domain=" + domain : "" ) +			";expires=Thu, 01-Jan-1970 00:00:01 GMT";}	var cookieName = 'test';	var cookieValue = 'The cookie was given!';	var cookieExpires = '365';	var cookiePath = '/';	var cookieDomain = '';	var cookieSecure = '';function setCookie() {	if ( Get_Cookie( 'test' ) !== cookieValue ) {			if (confirm('We are going to give you a cookie!')) {				Set_Cookie( cookieName, cookieValue, cookieExpires, cookiePath, cookieDomain, cookieSecure );				alert( Get_Cookie('test') );			}			else {				alert( 'You don'+"'"+'t want a cookie?' );			}	}	else {		alert( 'We were going to offer you a cookie, nbut you already have one.' );	}}function checkCookie() {		if ( Get_Cookie( 'test' ) == cookieValue ) {		alert('You do have a cookie! nThis is what we said when we gave it to you: n"'+cookieValue+'"');	}	else {		alert('The cookie is a lie!');	}	}function deleteCookie() {if ( Get_Cookie( 'test' ) == cookieValue ) {alert("There is a cookie to eat.");Delete_Cookie('test', '/', '');( Get_Cookie( 'test' ) ) ? alert( Get_Cookie('test')) : alert( 'We have eaten the cookie.');}else {	alert("There is no cookie for us to eat!");}	}			</script>			<a onclick="setCookie();">Take Cookie</a>			<br/>			<br/>			<a onclick="checkCookie();">Check Cookie</a>			<br/>			<br/>			<a onclick="deleteCookie();">Eat Cookie</a>	</body></html> 

 

 

 

Thanks for any help!

Edited by DarkxPunk
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...