Foros del Web » Programando para Internet » PHP »

Cookie, enlace

Estas en el tema de Cookie, enlace en el foro de PHP en Foros del Web. Hola tengo un enlace de la siguiente manera: <a class="botonMenu2" onClick="setcookie('cookiezar','cas', time()+3600*24*10);" href="http://www.web.com/index1.php" title="Castellano">Castellano</a> Pero no me escribe el cookie, ¿tengo que poner algo más? ...
  #1 (permalink)  
Antiguo 06/10/2005, 14:24
 
Fecha de Ingreso: enero-2002
Mensajes: 130
Antigüedad: 22 años, 3 meses
Puntos: 0
Cookie, enlace

Hola tengo un enlace de la siguiente manera:

<a class="botonMenu2" onClick="setcookie('cookiezar','cas', time()+3600*24*10);" href="http://www.web.com/index1.php" title="Castellano">Castellano</a>

Pero no me escribe el cookie, ¿tengo que poner algo más?

Muchas Gracias.
  #2 (permalink)  
Antiguo 06/10/2005, 14:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero lo usas así tal cual? ..

No puedes vía una llamada de javascript invocar a código PHP .. tu código javascript debe llamar a un script de proceso PHP el cual tendrá su código setcookie() entre otro código PHP que puedas tener.
Código PHP:
<class="botonMenu2" onClick="window.location='genera_cookie.php'" title="Castellano">Castellano</a
(revisa la redirección javascript .. por si no es así exactamente)

genera_cookie.php
Código PHP:
<?
// defines tu cookie.
setcookie('cookiezar','cas'time()+3600*24*10);
// redireccionas a donde tengas que ir tras la definición de tu cookie
header ("Location: index1.php");
?>
Un saludo,
  #3 (permalink)  
Antiguo 06/10/2005, 15:28
 
Fecha de Ingreso: enero-2002
Mensajes: 130
Antigüedad: 22 años, 3 meses
Puntos: 0
Muchas Gracias Cluster, ya me genera el cookie correctamente.

Ahora estoy intentando que al cargar el index1.php si en el cookie pone cas valla a una dirección y si pone eusk valla a otra, para eso he puesto esto entre <head> y </head> que he sacado de otro script, pero no me funciona, ¿alguna sugerencia?
Muchas Gracias.

<SCRIPT LANGUAGE="JavaScript">
var favorite = GetCookie('cookiezar');

if (favorite != null) {
switch (favorite) {
case 'cas' : url = 'index1.php';
break;
case 'eusk' : url = 'indexeusk.php';
break;

}
window.location.href = url;
}
</script>
  #4 (permalink)  
Antiguo 06/10/2005, 15:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Aclarate si vas a generar y leer tus cookies con PHP o con javascript .. se puede hacer de ambas formas .. pero tienes que aclararte. Eso que pusistes es Javascript (una opción más .. pero recuerda que estamos en el foro de PHP).

Un saludo,
  #5 (permalink)  
Antiguo 06/10/2005, 15:52
 
Fecha de Ingreso: enero-2002
Mensajes: 130
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola, la verdad es que ya que he empezado con el php prefiero hacerlo todo con php, ¿algun ejemplo?

Muchas Gracias.
  #6 (permalink)  
Antiguo 07/10/2005, 02:25
 
Fecha de Ingreso: enero-2002
Mensajes: 130
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola

Al final lo he puesto con javascrip, os dejo el código por si a alguno le interesa.

Muchas Gracias por vuestra colaboración.

Cita:
<SCRIPT LANGUAGE="JavaScript">
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

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 alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
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;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var favorite = GetCookie('cookiezar');

if (favorite != null) {
switch (favorite) {
// case 'cas' : url = 'index1.php'; change these!
// break;
case 'eusk' : url = 'indexeusk.php';
break;
}
window.location.href = url;
}
</script>
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 11:51.