Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/07/2007, 23:43
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 4 meses
Puntos: 41
Re: Problema con cookies (skinnable site)

Algo más:
- La cookie debería re-escribirse solamente si el usuario cambia de skin. Sinembargo tu la re-escribes siempre. En otras palabras, si solamente cambia de página o hace click en la misma skin que ya está seleccionada, no hay por qué escribir cookies nuevas.

Te propongo algo como lo siguiente:
Código PHP:
$total_skins 14;
$default_skin 1;

$new_skin = ( isset( $_REQUEST['newskin'] ) )?(int)$_REQUEST['newskin']:0;
$cookie_skin = ( isset( $_COOKIE['skin'] ) )?(int)$_COOKIE['skin']:0;

if ( 
$new_skin && $new_skin <= $total_skins && $new_skin != $cookie_skin ){
    
// Quiere decir que se eligió un nuevo skin. Entonces guardamos la nueva selección
    
setcookie('skin'""time() - 3600);
    
setcookie('skin'$new_skintime()+(86400*365), '/');
    
setcookie('skin'$new_skintime()+(86400*365), '/','.snootysims.com');
    
$skin $new_skin;    
} elseif ( 
$cookie_skin && $cookie_skin <= $total_skins ) {
    
// Si hay cookie válida, tomamos ese valor.
    
$skin $cookie_skin;
} else {
    
// Si no hay nueva skin ni cookie válidas tomamos $default_skin.
    
$skin $defalutl_skin;
}

// A partir de aquí, tenemos la variable $skin con el que se debe mostrar. 
Un abrazo,