Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New to the CF scene
    Join Date
    Jul 2009
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Help Splitting Cookies & Getting Values

    I have some code I gathered from a site, but I keep getting a JS error of "cookie_value is not defined." The code here sets a cookie (which works) and then it should look in "document.cookie" for the value of the cookie that was just set. Not sure why it keeps coming back as not defined. Thanks in advance for any help.

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <title>Title Here</title>
    <script>
    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;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    
    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
    }
    
    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
    
    	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;
    	}
    }
    
    </script>
     </head>
    <body>
    <script>
    var a_all_cookies;
    Set_Cookie( "gnr", "12345value", "3650", "/", "", "" )
    Get_Cookie("gnr");
    document.write(cookie_value);
    </script>
    </body>
    </html>

  • #2
    Senior Coder
    Join Date
    Oct 2008
    Location
    Long Beach
    Posts
    1,196
    Thanks
    36
    Thanked 164 Times in 164 Posts
    try these functions:
    Code:
    function createCookie(name,value,days)
    	{
    	if (days)
    		{
    		var date = new Date();
    		date.setTime(date.getTime()+(days*24*60*60*1000));
    		var expires = "; expires="+date.toGMTString();
    		}
    	else var expires = "";
    	document.cookie = name+"="+value+expires+"; path=/";
    	}
    
    function readCookie(name)
    	{
    	var nameEQ = name+"=";
    	var ca = document.cookie.split(";");
    	for (var i=0;i<ca.length;i++)
    		{
    		var c = ca[i];
    		while (c.charAt(0) == " ") c = c.substring(1,c.length);
    		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    		}
    	return null;
    	}
    
    function eraseCookie(name)
    	{
    	createCookie(name,"",-1);
    	}
    	
    
    //example usage
    function onSomeEvent()
    	{
    	createCookie("mycookie","true",365);
    	}
    
    function eventAlreadyOccurred()
    	{
    	if (readCookie("mycookie")) return true;
    	return false;
    	}
    Feel free to e-mail me if I forget to respond ;)
    ohsosexybrit@gmail.com

  • #3
    Banned
    Join Date
    May 2006
    Location
    England
    Posts
    664
    Thanks
    0
    Thanked 84 Times in 84 Posts
    Quote Originally Posted by SPE825 View Post
    I have some code I gathered from a site, but I keep getting a JS error of "cookie_value is not defined."
    Code:
     
    <script>
    var a_all_cookies;
    Set_Cookie( "gnr", "12345value", "3650", "/", "", "" )
    Get_Cookie("gnr");
    document.write(cookie_value);
    </script>
    </body>
    </html>
    You haven't defined a variable called cookie_value.

    document.write( Get_Cookie("gnr") );


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •