Foros del Web » Programando para Internet » Javascript »

cookies

Estas en el tema de cookies en el foro de Javascript en Foros del Web. bien necesito hacer un script que .. compruebe que exita una cookie.. en caso de no existir debe crearla y guardar la fecha actual.. para ...
  #1 (permalink)  
Antiguo 11/08/2011, 05:41
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 0
cookies

bien necesito hacer un script que .. compruebe que exita una cookie.. en caso de no existir debe crearla y guardar la fecha actual.. para compararla cuando se entre otra vez a la página y saber el intervalo de tiempo entre visitas... la verdad se me dan fatal las cookies.. he empezado por esto pero voy bastante perdido a ver si alguien me hecha un cable..

Código:
<html>
	<head>
	<script language="javascript">
	<!--
		function setcookie()
			{
			var fecha= new Date;
			fecha.getDate();
			var valida= new Date(2012,12,31);
			name="diferencia";
			document.cookie=name+"="+fecha+";"+((valida==null)?"":("expires="+valida.toGMTString()));
			}

		function leercookie()
			{
			var fin="";
			var buscamos=diferencia+"=";
			if(document.cookie.length>0)
				{
				var inicio=document.cookie.indexOf(buscamos);
				if(inicio!=-1)
					{
					inicio+=buscamos.length;
					fin=document.cookie.indexOf(";",inicio);
					if(fin==-1)
					fin=document.cookie.length;
					return unescape(document.cookie.substring(inicio,fin));
				}
			}
			}
	//-->
	</script>

<body>
<script language="javascript">
<!--
	document.write(" La ultima vez que visitaste esta pagina fue.. "+ leercookie());
//-->
</script>



</body>
</html>

Última edición por jhz1983; 11/08/2011 a las 05:53
  #2 (permalink)  
Antiguo 11/08/2011, 07:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: cookies

no uses document.write, invoca a la función desde el evento onload del body, y mejor usa innerHTML para modificar el contenido de una capa.

además no te funciona porque en ningún momento veo que llames a setcookie()
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/08/2011, 09:36
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: cookies

se que no funciona es que.. no consigo que lea la cookie además .. nosé por donde seguir para hacer lo que quiero : /
  #4 (permalink)  
Antiguo 11/08/2011, 10:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: cookies

voy avanzando poco a poco.. he conseguido que la lea.. y que si no está creada lo haga.. ahora lo único que me queda es hacer que si esta creada.. compare la fecha guardada con la actual y me diga cuando fue la última visita a ver si alguien me guia un poco para hacer esa función.
Código:
<html>
	<head>
	<script language="javascript">
	<!--
		function setcookie()
			{
			var fecha= new Date;
			fecha.getDate();
			var valida= new Date(2012,12,31);
			name="diferencia";
			document.cookie=name+"="+fecha+";"+((valida==null)?"":("expires="+valida.toGMTString()));
			}

		function leercookie(nombre)
			{

			var fin="";
			var buscamos=nombre+"=";
			if(document.cookie.length>0)
				{
				var inicio=document.cookie.indexOf(buscamos);
				if(inicio!=-1)
					{
					inicio+=buscamos.length;
					fin=document.cookie.indexOf(";",inicio);
					if(fin==-1)
					fin=document.cookie.length;
				return unescape(document.cookie.substring(inicio,fin));
					}
				else{
					setcookie();
					}
				}

			}
	//-->
	</script>
	</head>

<body>
<script language="javascript">
<!--
	document.write("La ultima vez que visitaste esta pagina fue.. "+leercookie("diferencia")+" a ver si te pasas mas a  menudo");
//-->
</script>


</body>
</html>

Última edición por jhz1983; 11/08/2011 a las 11:12
  #5 (permalink)  
Antiguo 11/08/2011, 20:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: cookies

revisa la lógica de tu código, para empezar debes usar =new Date(), no existe la comparación que dices, prueba instalar firebug en Firefox o alguna otra consola que te permita depurar el código
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 12/08/2011, 07:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 0
problemas cookies

tengo este programa.. quiero que.. se cree una cookie en caso de que no este creada y que almacene la fecha actual.. en caso de estar creada quiero que se actualize a la fecha actual y que diga la diferencia entre la fecha de la cookie y la actual. en principio tengo esto hecho:

Código:
<head>
	<script language="javascript">
	<!--
		function setcookie()
			{
			var fecha= new Date();
			fecha.getTime();
			var valida= new Date(2012,12,31);
			name="diferencia";
			document.cookie=name+"="+fecha+";"+((valida==null)?"":("expires="+valida.toGMTString()));
			}

		function leercookie(nombre)
			{

			var fin="";
			var buscamos=nombre+"=";
			if(document.cookie.length>0)
				{
				var inicio=document.cookie.indexOf(buscamos);
				if(inicio!=-1)
					{
					inicio+=buscamos.length;
					fin=document.cookie.indexOf(";",inicio);
					if(fin==-1)
					fin=document.cookie.length;
				return unescape(document.cookie.substring(inicio,fin));
                                 setcookie();


					}


			}
			else
								{
								alert("Es la primera vez que entras en esta página?");
								setcookie();
					}
			}
	//-->
	</script>
	</head>

<body>
<script language="javascript">
<!--
	document.write("La ultima vez que visitaste esta pagina fue.. "+leercookie("diferencia")+" a ver si te pasas mas a  menudo");
//-->
</script>


</body>
</html>
la función para crear la cookie esta ok o eso creo xD, la funcion leercookie comprueba que exista y en caso de no existir la crea.. aqui tengo el primer problema en caso de que exista quiero que se reescriba con la fecha actual cosa que no consigo .. hago una llamada a setcookie():
var inicio=document.cookie.indexOf(buscamos);
Código:
if(inicio!=-1)
					{
					inicio+=buscamos.length;
					fin=document.cookie.indexOf(";",inicio);
					if(fin==-1)
					fin=document.cookie.length;
				return unescape(document.cookie.substring(inicio,fin));
                                 setcookie();
pero.. no consigo que se reescriba... y luego que ya no se ni por donde empezar como puedo comparar las fechas? he pensado en utilizar parse .. que os parece?
  #7 (permalink)  
Antiguo 12/08/2011, 11:03
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problemas cookies

POST REPETIDO: http://www.forosdelweb.com/f13/cookies-935943/

No había necesidad de repetir el tema, consulte las políticas del foro
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #8 (permalink)  
Antiguo 12/08/2011, 14:06
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: cookies

Temas unidos.
  #9 (permalink)  
Antiguo 12/08/2011, 15:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: cookies

return unescape(document.cookie.substring(inicio,fin));
setcookie(); //esto nunca se ejecutará

la palabra return no solo devuelve a la salida de la función, también interrumpe la misma, todo código posterior a ella no se ejecuta, debes de llamar a la función antes:

Código Javascript:
Ver original
  1. var r = unescape(document.cookie.substring(inicio,fin));
  2. setcookie();
  3. return r;
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #10 (permalink)  
Antiguo 12/08/2011, 16:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: cookies

lo siento es que llevo dias con el mismo tema y no consigo solucionarlo y taba un poco rallado pido disculpas.

Etiquetas: cookies, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:03.