Código:
No pasa nada, así funciona bien parece. El tema es que he querido hacer lo mismo pero en lugar de emplear el bloque switch, emplear un bloque condicional normal (if...{bla bla}; elseif...) y no funciona. No me da errores de sintaxis, simplemente no respeta los valores que le meto. Según unas sintaxis elige siempre el último valor de la cadena condicional y según otras se queda con la primera. A ver si alguien en un momento me escribe como lo haría y me cosco de dónde está mi error al querer hacerlo así. <?php if(isset($HTTP_COOKIE_VARS["width_res"])) $res_pantalla = $HTTP_COOKIE_VARS["width_res"]; else { ?> <script type="text/javascript"> function creaCookie(nombre,valor,caducidad,path,domain,secure) { var valor = screen.width var dia_fin = new Date(); dia_fin.setDate(dia_fin.getDate() + caducidad); document.cookie = nombre + "=" + escape(valor) + ((caducidad==null) ? "" : "; expires=" + dia_fin.toGMTString()) + ((path==null) ? "" : "; path=" + path) + ((domain==null) ? "" : "; domain=" + domain) + ((secure==null)? "" : "; secure"); } creaCookie('width_res','valor'); if (document.cookie){ location = "index.php"; } </script> <? } switch ($res_pantalla) { case 1024: $flash_res="cabecera1024.swf"; break; case 1280: $flash_res="cabecera1280.swf"; break; case 1360: $flash_res="cabecera1360.swf"; break; case 1400: $flash_res="cabecera1400.swf"; break; case 1440: $flash_res="cabecera1440.swf"; break; case 1600: $flash_res="cabecera1600.swf"; break; case 1680: $flash_res="cabecera1680.swf"; break; default: $flash_res="cabecera1024.swf"; } ?>
Por cuestiones de aprendizaje me gustaría poder hacerlo de los dos modos (siempre me ha parecido la opcion switch las condicionales para torpes)