Hola de nuevo.
Posteo esto por aqui tras darle 6 horas de vueltas en todos los foros y tirando de los buscadores y todas las respuestas que daban no eran las adecuadas para un completo manejo con PHP.
La mayoría de ellas te llevan a usar NOSCRIPT con lo cual no te da la posibilidad de mandar la variable a PHP.
Y la otra forma es usar un META dentro de un NOSCRIPT cosa que no funciona en las navegadores actuales pues NOSCRIPT debe estar en el BODY y el META en el HEAD (tal vez esto sí funcione en navegadores antiguos).
Otros te decían de crear un FORM con lo que el cliente tendría que participar de la acción apretando al botón de ENVIAR.
Al final me olvidé de los buscadores y me puse a pensar. Al final se puede lograr lo esperado con una combinación de HTML, JAVASCRIPT y PHP.
Lo he probado en todos los navegadores disponible para Linux y en sus versiones recientes (no en viejas versiones y tampoco en Windows asi que todavía no sé si funciona en los IE o en Safari). Pero según la documentación encontrada, podría no redirigir en los casos de IE con javascript deshabilitado y con opciones de seguridad propias del navegador habilitadas. Tampoco he probado con navegadores móviles.
El método es sencillo y consiste en REDIRIGIR.
1º redirige por JAVASCRIPT si está activado.
2º redirige por HTML.
Código HTML:
<html>
<head>
<meta http-equiv="refresh" content="0;URL=javascript-disable.php" >
</head>
<body>
<script type="text/javascript">
<!--
window.location = "javascript-enabled.php"
//-->
</script>
</body>
</html>
Así de simple :P
No se hace uso de NOSCRIPT pero se puede añadir para los casos de que no se rediriga.
Según se deduce, los navegadores priorizan el redireccionamiento por JAVASCRIPT y luego el de HTML. Si un navegador no hicera así (lo digo por si alguien prueba en otros navegadores) entonces se podría probar cambiando el tiempo de redireccionamiento (refresh) a 1 segundo en lugar de 0 y probar que tal.
Si alguien pudiera probar todo esto con los navegadores de IE se lo agradecería.
A partir de ahi, les dejo la imaginación a vosotros. Según el ejemplo, lo que se haría es crear en cada script una variable diferente y seguir un proceso como se requiera.
También se podría pasar parámetros en el URL de tal forma:
javascript.php?js=true para un caso y
javascript.php?js=false para el otro... asi se devuelve todo en un único script a partir del cual sólo queda guardar la variable $_GET['js'] para su uso en PHP
Comprobado en: Firefox 9.0.1, Firefox 12 Alpha, Chrome 16, Chromium 14, Opera 11.60, Opera Next 12, Arora 0.10.2, Seamonkey 2.0.11, Rekonq 0.6.1, Midori 0.2.4, Epiphany 2.30.2, Qupzilla 1.0.0.rc1, Netsurf 1.2, Konqueror 4.5.5, Fennec 1.1, Doodle 0.07, ELinks 0.12