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)
.

