Foros del Web » Programando para Internet » PHP »

Ayuda con Cookies

Estas en el tema de Ayuda con Cookies en el foro de PHP en Foros del Web. Necesito ayuda lo que pasa que quiero poner en mi sitio que el usuario pueda escojer entre 3 diferentes diseños (hojas de estilos).. Por default ...
  #1 (permalink)  
Antiguo 25/02/2009, 18:07
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Ayuda con Cookies

Necesito ayuda lo que pasa que quiero poner en mi sitio que el usuario pueda escojer entre 3 diferentes diseños (hojas de estilos)..


Por default quiero que entre con el estilo 1...

pero hize 3 links para ke escojan entre los 3 diseños

lo que quiero hacer con las cookies por ke creo que si es asi....

es que la proxima vez que el usuario visite el portal ya sepa cual de los 3 habia elegido como lo puedo hacer??
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 25/02/2009, 18:14
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Ayuda con Cookies

creas una tabla , y despues cuando el usuario elige un estilo con un WHERE le decis que segun el nick guarde el nombre de la hoja de estilos .....
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #3 (permalink)  
Antiguo 25/02/2009, 18:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda con Cookies

Pues pones 3 links

Código PHP:
<a href="#" onClick="<? setcookie('diseno''1'tiempo); ?>">Diseno 1</a>
Código PHP:
<a href="#" onClick="<? setcookie('diseno''2'tiempo); ?>">Diseno 2</a>
Código PHP:
<a href="#" onClick="<? setcookie('diseno''3'tiempo); ?>">Diseno 3</a>
y para poner el code de los css pones asi

Código PHP:
if(isset($_COOKIE['diseno'])) {
    
$diseno $_COOKIE['diseno'];
}else{
    
$diseno 1//numero de diseno si no han elejido alguno
}
if(
$diseno == 1) {
    
//importo diseno 1
}elseif($diseno == 2) {
    
//importo diseno 2
}elseif($diseno == 3) {
    
//importo diseno 3

  #4 (permalink)  
Antiguo 25/02/2009, 18:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con Cookies

...

Cuando el usuario elige el tema, guardas el valor en una cookie:
Código PHP:
<?php
switch($_POST['tema']) {
  case 
1:
  
$tema "hola.css";
  break;

  case 
2:
  
$tema "hey.css";
  break;

  case 
3:
  
$tema "adios.css";
  break;
}
setcookie("tema"$tematime() + 3600);

//Y cuando el usuario se valla a loguear:
if(isset($_COOKIE['tema'])) {
  
$hoja $_COOKIE['tema'];
}
//Y es cosa de dependiendo el tema, cargar la hoja de estilos.
?>


onClick="<? setcookie('diseno', '1', tiempo); ?>"

O.o Desde cuando es eso posible?
  #5 (permalink)  
Antiguo 25/02/2009, 18:20
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda con Cookies

primero

if(isset($_COOKIE['tema'])) {
$hoja = $_COOKIE['tema'];
}

eso si no ha entrado el usuario marcara error y pss hay que poner un else para poner uno como default

y si es posible si no quieres hacerlo asi puedes agergarle la cookie con js y es igual tengo numerosos links de esa manera y tbn en value, en onclick, onload etc...
  #6 (permalink)  
Antiguo 25/02/2009, 18:22
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con Cookies

Es un ejemplo, no le voy a hacer TODA la tarea.
  #7 (permalink)  
Antiguo 25/02/2009, 18:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda con Cookies

no te costaba nada xD pero los 2 codigos sirven a la perfeccion
  #8 (permalink)  
Antiguo 25/02/2009, 19:04
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Ayuda con Cookies

Edig intente tu metodo... y no me funciono.. :S

y el de Ronruby no lo comprendi muy bien... como tendria que hacer el vinculo para que el usuario seleccione el tema???

me pueden aclarar un poco mas el panorama...
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #9 (permalink)  
Antiguo 25/02/2009, 19:11
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con Cookies

La idea es, tienes un formulario con los temas disponibles.
Cuando el usuario elige uno, procesas la respuesta y eliges entre una u otra hoja de estilo. Y creas la cookie con el valor.

Cuando el usuario entra a tu sitio, chequeas si la cookie existe, si existe tomas el valor de la cookie, que sera la hoja de estillo X. Pero sino esta seteada, tomas un valor por defecto.

Es bastante sencillo.
¿Sabes hacer un if?
¿Sabes chequear si una variable existe?
¿Sabes recoger variables de formulario?
¿Sabes setear una cookie?

Eso es todo, si puedes responder esas 4 cosas, puedes hacer algo tan sencillo como lo que deseas.
  #10 (permalink)  
Antiguo 25/02/2009, 19:22
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
aaaa ok muy bien Ronruby.... ya comprendi mejor... y si en vez de $_POST recojo con un URL $_GET tambien se puede?? para mejor hacer un link sencillo en vez de un formulario

me marca un error en setcookie("tema", $tema, time() + 3600);

Warning: Cannot modify header information - headers already sent by (output started at /home/elcapito/public_html/future.php:5) in /home/elcapito/public_html/future.php on line 79
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México

Última edición por GatorV; 25/02/2009 a las 23:01
  #11 (permalink)  
Antiguo 25/02/2009, 19:31
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con Cookies

Con tal de que recojas el valor, puedes usar GET, POST, SESSION, lo que desees.

Cita:
Warning: Cannot modify header information - headers already sent by (output started at /home/elcapito/public_html/future.php:5) in /home/elcapito/public_html/future.php on line 79
No se debe imprimir ABSOLUTAMENTE nada antes de un setcookie. Un setcookie lo que hace es enviar un header.
  #12 (permalink)  
Antiguo 25/02/2009, 19:37
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
OK ya pude lo logre!! muchas gracias Ronruby....

Ahora me establece la cookie enviada pero solo hasta que actualizo me muestra los cambios...

como podre hacer para que despues de enviar la variable por URL y establecer la cookie se haga un auto refresh...

o ke me recomiendas para esto

o alguien tiene alguna sugerencia, para esto?
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México

Última edición por GatorV; 25/02/2009 a las 23:01
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 01:01.