Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Cannot get cookie to work

Posted on 2013-11-24
10
Medium Priority
?
485 Views
Last Modified: 2014-01-01
I have been working on this for days and cannot seem to get the cookie to work. I need to place a cookie on the users system so when they fill the form out again it will redirect them to another page stating they already filled the form out. I cannot seem to get it to work.

<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Taylor Ambulance - Contact</title>
<link rel="stylesheet" href="../week2/contact.asp_files/reset.css" type="text/css" media="screen">
<link rel="stylesheet" href="../week2/contact.asp_files/960_12_col.css" type="text/css" media="screen">
<link rel="stylesheet" href="../week2/contact.asp_files/taylorAmbulance.css" type="text/css" media="screen">
<link rel="stylesheet" href="../week2/contact.asp_files/navigation.css" type="text/css" media="screen">
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->

<script type="text/javascript">
<!-- Define cookie -->
	 
	set_cookie("LoggedIn",true,10);
	 
	function set_cookie(fname, 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 = "";
	    
	   var host = "your_domain.com";
	   var domain = "; domain=" + host;
	   document.cookie = fname + "=" + value + expires + domain + "; path=/";
	}
	 
	get_cookie("LoggedIn");
	 
	function get_cookie(fname)
	{
	   var EQ = fname + "=";
	   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(EQ) == 0) return c.substring(EQ.length,c.length);
    }
       return null;
	} 
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }
</script>
</head>
<body>
	<div id="backdrop"></div>
		<div class="wrapper container_12">
			<header class="grid_12" id="branding">
				<h2 class="internet">555-0102 | Dispatch 555-0101</h2>
			</header>
			<nav>
				<ul class="grid_12" id="nav">
					<li><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/index.asp">Home</a></li>
					<li><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/about.asp">About</a></li>
					<li><a class="selected" href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/contact.asp">Contact</a></li>
					<li class="right"><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/intranet/index.asp">Intranet</a></li>
					<li class="right"><a class="selected" href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/index.asp">Internet</a></li>
				</ul>
			</nav>

		<div class="grid_12" id="subpage_photo_area">
        <img alt="image of an ambulance" src="../week2/contact.asp_files/sub-pages-image.png">
		</div>
		<article class="grid_9 push_1 internet" id="subpage_main_content">
			<h2>Contact</h2>
			<p class="contactcallout">If you have an emergency, hang up and dial 9 - 1 - 1</p>
		  <p>To schedule a non-emergency transport, please contact the Dispatcher: 555-0101</p>
			<p>For all other matters, please contact the Operations Manager: 555-0102			</p>
			<p>&nbsp;</p>
            <form action="acknowledgement.html" method="get">
            <table width="476" border="3" cellpadding="2" cellspacing="0" class="c3">
	    <tr valign="baseline">
<td width="89"><span class="c2">First Name*</span></td>
<td width="284"><input name="First Name" type="text" id="First Name" size="38,1" maxlength="80"></td>
</tr>
<tr>
<td><span class="c2">Last Name*</span></td>
<td><input name="Last Name" type="text" id="Last Name" size="38,1" maxlength="80"></td>
</tr>
<tr>
<td><span class="c2">Phone Number*</span></td>
<td><input name="Phone Number" type="text" id="Phone Number" size="38,1" maxlength="80"></td>
</tr>
<tr>
<td><span class="c2">Email Address*</span></td>
<td><input name="Email Address" type="text" id="Email Address" size="38,1" maxlength="80"></td>
</tr>
<tr>
<td><span class="c2">Comments*</span></td>
<td><textarea name="comments" cols="38,1" id="comments"></textarea></td>

</tr>
<tr>
<td></td>
</tr>
</table>
<form>
<br>
<div class="c4">      
  <input type="submit" onClick="MM_validateForm('First Name','','R','Last Name','','R','Phone Number','','RisNum','Email Address','','RisEmail','comments','','R');return document.MM_returnValue" value=" Submit "> <input type="button" value=" Return " onclick="window.location='acknowledgement.html'">
  <input type="reset" value="Reset Form" onClick="resetform()">
</div>

			<p>Taylor Ambulance Company, Inc.<br>
			207 S. Hartford St.<br>
			Kelsey</p>
		</article>
				<div class="push"></div>
		</div>
		
		<footer class="footer container_12" id="footer">
			<p class="push_1"><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/" title="Virtual Organizations Portal">Virtual Organizations Portal</a><span class="copydivider">|</span>© 2010, 2011 Apollo Group, Inc. All Rights Reserved.</p>
		</footer>
		
		
		<!-- Asynchronous Google Analytics snippet. -->
	<script src="../week2/contact.asp_files/ga.js"></script><script>
		var _gaq=[['_setAccount','UA-1768756-3'],['_trackPageview'],['_trackPageLoadTime']];
		(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
		g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
		s.parentNode.insertBefore(g,s)}(document,'script'));
	</script>

	<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
       chromium.org/developers/how-tos/chrome-frame-getting-started -->
	<!--[if lt IE 7 ]>
    	<script defer src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
    	<script defer>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
	<![endif]-->
	
</body></html>

Open in new window

0
Comment
Question by:redrose43311
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
10 Comments
 
LVL 84

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 1336 total points
ID: 39673073
"Chrome Frame" is being discontinued.

I would read the cookie on the form page after setting it on the 'action' page.  I assume the 'action' page, "acknowledgement.html", will become an ASP or PHP page when you're done.

Javascript cookie routines are shown here: http://www.w3schools.com/js/js_cookies.asp
0
 

Author Comment

by:redrose43311
ID: 39673090
I have the acknowledgement.html done and it works. Just not the cookie. Here is the code for the acknowledgement.html page.

<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Taylor Ambulance - Contact</title>
<link rel="stylesheet" href="../../TaylorVOFiles/TaylorVOFiles/contact.asp_files/reset.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../TaylorVOFiles/TaylorVOFiles/contact.asp_files/960_12_col.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../TaylorVOFiles/TaylorVOFiles/contact.asp_files/taylorAmbulance.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../TaylorVOFiles/TaylorVOFiles/contact.asp_files/navigation.css" type="text/css" media="screen">
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->

</head>
<body>
	<div id="backdrop"></div>
		<div class="wrapper container_12">
			<header class="grid_12" id="branding">
				<h2 class="internet">555-0102 | Dispatch 555-0101</h2>
			</header>
			<nav>
				<ul class="grid_12" id="nav">
					<li><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/index.asp">Home</a></li>
					<li><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/about.asp">About</a></li>
					<li><a class="selected" href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/contact.asp">Contact</a></li>
					<li class="right"><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/intranet/index.asp">Intranet</a></li>
					<li class="right"><a class="selected" href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/Healthcare/Taylor/internet/index.asp">Internet</a></li>
				</ul>
			</nav>

		<div class="grid_12" id="subpage_photo_area">
        <img alt="image of an ambulance" src="../../TaylorVOFiles/TaylorVOFiles/contact.asp_files/sub-pages-image.png">
		</div>
		<article class="grid_9 push_1 internet" id="subpage_main_content">
			<h2>Thank You For Contacting Taylor Ambulance Company, Inc</h2>
 <script type="text/javascript">
<!-- HIDE FROM INCOMPATIBLE BROWSERS
if (window != top)
 top.location.href=location.href
document.write("<h1>Your form has been submitted!</h1><h2>You entered the following data:</h2>");

var formData = location.search;
formData = formData.substring(1, formData.length);

while (formData.indexOf("+") != -1) {
 formData = formData.replace("+", " ");
}

formData = unescape(formData);
var formArray = formData.split("&");

for (var i=0; i < formArray.length; ++i) {
 document.writeln(formArray[i] + "<br />");
}

// STOP HIDING FROM INCOMPATIBLE BROWSERS -->
</script>

  
			
		  <p>&nbsp;</p>
          


		  <p>Taylor Ambulance Company, Inc.<br>
			207 S. Hartford St.<br>
			Kelsey</p>
		</article>
				<div class="push"></div>
		</div>
		
		<footer class="footer container_12" id="footer">
			<p class="push_1"><a href="https://ecampus.phoenix.edu/secure/aapd/CIST/VOP/" title="Virtual Organizations Portal">Virtual Organizations Portal</a><span class="copydivider">|</span>© 2010, 2011 Apollo Group, Inc. All Rights Reserved.</p>
		</footer>
		
		
		<!-- Asynchronous Google Analytics snippet. -->
	<script src="../../TaylorVOFiles/TaylorVOFiles/contact.asp_files/ga.js"></script><script>
		var _gaq=[['_setAccount','UA-1768756-3'],['_trackPageview'],['_trackPageLoadTime']];
		(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
		g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
		s.parentNode.insertBefore(g,s)}(document,'script'));
	</script>

	<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
       chromium.org/developers/how-tos/chrome-frame-getting-started -->
	<!--[if lt IE 7 ]>
    	<script defer src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
    	<script defer>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
	<![endif]-->
	
</body></html>

Open in new window

0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39673140
Are you running this thru a web server or just from a file?  Without a web server, you have no 'domain' to set the cookie on.  Chrome won't even try while IE and Firefox might try but without a 'domain', they won't be able to read it.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:redrose43311
ID: 39673168
This is an assignment and will be ran from a file
0
 
LVL 84

Accepted Solution

by:
Dave Baldwin earned 1336 total points
ID: 39673188
Can't work then.  For cookies to work, the page Must be accessed thru a web server so there will be a 'domain' for the cookie even if it is only an IP address.
0
 

Author Comment

by:redrose43311
ID: 39673364
Im confused. I load the page through firefox while on my computer and my instructor loads the pages on his system.
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39673435
Cookies require a 'domain' even if it is only an IP address thru a web server.  You can only read cookies on the "current domain".  If you load the file directly, there is no 'domain' so cookies can't be read.  See here: http://en.wikipedia.org/wiki/HTTP_cookie  Chrome won't even let you set or read a cookie on 'localhost'.
0
 
LVL 4

Assisted Solution

by:smeghammer
smeghammer earned 664 total points
ID: 39673977
Hi,

If you are using a student machine, it probably has a webserver already (IIS or Apache). On Windows, the IIS web root path defaults to

c:\inetpub\wwwroot\.

Put your HTML file in there and call it in the browser like so:

http://localhost/[yourfile].htm

That way, you will have the domain set to localhost, and the cookies should work. You will also need to edit the javascript to ensure the domain added to the cookie is the correct one (line 28 of your javascript).

Your instructor is likely calling his localhost, or perhaps an internal domain/IP address.
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When crafting your “Why Us” page, there are a plethora of pitfalls to avoid. Follow these five tips, and you’ll be well on your way to creating an effective page.
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question