Me parece que aqui el que tiene que aprender soy yo...
Ahi van mis dos paginitas (hechas con ayuda de mis multiples manuales con los que me ayudo a perderme
).
Errores? 10000. En el "alert" aparece: bienvenido, "false", justo despues de haber introducido el nombre
Y luego, la pag2 no consigue mostrar el nombre
(y se trataba de eso!!!)
Bueno, en fin, ahi va...
<html>
<head>
<title>Primera parte: pagina de registro</title>
<script language="JavaScript">
function getCookieVal (offset)
{ // Esta funcion envia la parte de la cadena "miCookie=userName"
// que se encuentra entre "=" y ";"
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
{ endstr = document.cookie.length;
}
return
unescape(document.cookie.substring(offset, endstr));
}
function getCookie (cookieName)
{ // Aislamos el texto de la cookie
var arg = cookieName + "=";
var argLength = arg.length;
// Longitud de la cookie
var cookieLength = document.cookie.length;
// Exploracion caracter por caracter del contenido de la cookie
// para recuperar lo que nos interesa
var i = 0;
while (i < cookieLength)
{ var j= i + argLength;
// Si se encuentra "miCookie=" en la cookie
if (document.cookie.substring(i, j) == arg)
{ // devuelve el valor que tiene
return getCookieVal(j)
}
// i = document.cookie.indexOf(" ", i) + 1;
//}
if (i == 0)
{ break
}
}
return null;
}
function setCookie(name, value)
{ var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv [3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
// Definicion de la cookie
document.cookie = name + "=" + escape(value) +
((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function register(userName, value)
{ if (userName ="" || userName == null)
{ // No hay nombre de usuario. Le registraremos como "Anonimo"
userName= "Anonimo"
}
// Si no hay cookie que se llame "miCookie"...
if(getCookie('miCookie') == null)
{ // Le damos como fecha de caducidad la actual
var expdate = new Date()
// Damos a la fecha de caducidad un valor correspondiente a un anio mas
expdate.setTime(expdate.getTime()
+ (1000 * 60 * 60 * 24 * 365));
setCookie('miCookie', userName, expdate);
alert ("Gracias por visitarme, "
+ userName
+ " ! Haz click en Aceptar para continuar.");
// Cargamos la pagina destinada a los que ya nos han visitado
location.href = "pag2.htm"
}
}
// Este codigo busca una cookie que se llame "miCookie" en
// la maquina del usu. Si existe, es que ya nos ha visitado.
// Si no, le pedimos que escriba su nombre.
if(getCookie('miCookie') != null)
{
location.href="pag2.htm"
}
</script>
</head>
<body>
<H1>Ejemplo de Cookie</h1>
<form name="loginForm">
Esta es la primera vez que nos vista, por favor introduzca su nombre y haga click en "Entrar".
<p>
<input type="text" name="nombre" size=35>
<br>
<input type="button" value="Entrar"
onClick="register(loginForm.nombre.value)">
</form>
</body>
</html>
----------------------------------------------------------------------------------
<html>
<head>
<title>Segunda parte : Lectura de la cookie</title>
<script language="JavaScript">
function getCookieVal (offset)
{ var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
{endstr = document.cookie.length;
}
return unescape
(document.cookie.substring(offset, endstr));
}
function getCookie (name)
{ var arg = name + "=";
var argLength = arg.length;
var cookieLength = document.cookie.length;
var i = 0;
while (i < cookieLength)
{ var j = i + argLength;
if (document.cookie.substring(i, j) == arg)
{ return getCookieVal(j)
i = document.cookie.indexOf(" ", i) + 1;
}
if (i == 0) break;
}
}
var nombreusu = getCookie('miCookie');
if (nombreusu != null)
{ var documentText =
"<body><h1>Segundo ejemplo de cookie</h1>";
documentText +=
" Bienvenido ";
documentText += nombreusu;
}
else
{location.href="pag1.htm"}
</script>
</head>
</htm>
--------------------------------------------------------------------