Foros del Web » Programando para Internet » PHP »

como modificar cookie php con links <a href?

Estas en el tema de como modificar cookie php con links <a href? en el foro de PHP en Foros del Web. Pues como bien dice el titulo intento modificar una cookie echa desde php con links <a href=""> y el problema que tengo es que solo ...
  #1 (permalink)  
Antiguo 12/11/2011, 18:19
 
Fecha de Ingreso: agosto-2010
Ubicación: pontevedra
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
como modificar cookie php con links <a href?

Pues como bien dice el titulo intento modificar una cookie echa desde php con links <a href="">

y el problema que tengo es que solo me coge la cookie del ultimo link, las demas no funcionan:


tengo esto puesto en el html

Código PHP:
<a style="color:red;" onclick="<?php if ( isset($_COOKIE["Ts_Ms""]) ) setcookie("Ts_Ms"""2"0); ?>" href="">Tema 2</a> <br/>
                    

<a style="color:red;" onclick="<?php  if ( isset($_COOKIE["Ts_Ms"]) ) setcookie("Ts_Ms"", "3", 0); ?>" href="">Tema 3</a> <br/>
Y solo me funciona el Tema 3, el Tema 2 no me cambia, no se si es por que no se puede hacer asi o que, alguna ayudita?
  #2 (permalink)  
Antiguo 12/11/2011, 20:29
 
Fecha de Ingreso: agosto-2010
Ubicación: pontevedra
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: como modificar cookie php con links <a href?

Bueno cambio mi pregunta, como puedo hacer para que al seleccionar una opción de un select me envie a otra pagina?
  #3 (permalink)  
Antiguo 12/11/2011, 20:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como modificar cookie php con links <a href?

<a style="color:red;" onclick="<?php if ( isset($_COOKIE["Ts_Ms"]) ) setcookie("Ts_Ms"", "3", 0); ?>" href="">Tema 3</a> <br/>

Supongo que esas "dobles comillas dobles" son el resultado de copiar y pegar aqui.

Ahora, lo que pretendes hacer definitivamente no es posible, porque los eventos onclick se ejecutan en el navegador y, para ese entonces, PHP ya ni se entera de lo que pasa alla, por lo que las cookies se crean en el mismo momento de mostrar los enlaces, precisamente, cada nuevo enlace sobreescribe la cookie anterior y queda siempre el valor del ultimo.

Puedes: Crear la cookie con javascript, llamada a otro script PHP que tome por GET el valor que deseas establecer y/o la combinacion de ambas (AJAX).


Edito:

Lo del select es bastante sencillo, es tema de javascript, pero, bueno... depende un poco de como sea la URL de la pagina destino, aqui un ejemplo:
Código HTML:
Ver original
  1. <select name="algo" onclick="top.location = 'nueva_pagina.php?algo=' + this.value;">
  2. <option value="valor1">Texto del valor 1</option>
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 12/11/2011, 20:41
 
Fecha de Ingreso: agosto-2010
Ubicación: pontevedra
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: como modificar cookie php con links <a href?

Gracias por tu respuesta, me sirvio de mucho, pero tiene un fallo



El fallo de este codigo es el siguiente:

Si pongo esto asi tal cual, al darle a la flechita para desplegar las opciones, ya me envia a la otra pagina.

Código PHP:
<select name="algo" onclick="top.location = 'nueva_pagina.php?algo=' + this.value;">
<
option value="valor1">Texto del valor 1</option>
</
select

Si lo pongo asi, al abrir el menu, la opcion 1 no me deja cogerla puesto que es la que aparece primero, y no cambia.

Código PHP:
<select name="algo" onchange="top.location = 'nueva_pagina.php?algo=' + this.value;">
<
option value="valor1">Texto del valor 1</option>
<
option value="valor2">Texto del valor 2</option>
</
select
Asi que tuve que hacer esto:

Código PHP:
<select name="algo" onchange="top.location = 'nueva_pagina.php?algo=' + this.value;">
<
option value="valor1">Texto del valor 1</option>
<
option value="valor2">Texto del valor 2</option>
<
option selected=selected></option>
</
select
Asi como predeterminada me cogeria la opcion en blanco y las otras dos funcionarian correctamente.

Si teneis alguna solucion mejor y mas limpia decirmelo por favor
  #5 (permalink)  
Antiguo 12/11/2011, 20:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como modificar cookie php con links <a href?

Genia, que bueno que encontraste ese pequeño detalle del onclick que debio ser onchange y, bueno, tal vez si pueda ofrecer alguna sugerencia mejor pero, eso es tema de Javascript, una simple funcion con un par de lineas que verifique el valor del select y evite la redireccion si esta vacio.

Y, por otra parte, tambien se recomienda que si ya estas en una pagina considerada en el select, su correspondiente option tenga selected="selected", es mas amigable para el usuario.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: cookie, html, links, modificar
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 03:47.