Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/09/2014, 01:41
Avatar de CHuLoSoY
CHuLoSoY
 
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 3 meses
Puntos: 29
Respuesta: Actualizar scritp

Has pensado en cambiar la lógica de tu aplicación para que el user agent se lea por javascript? Puedes pasarlo por ajax en la primera llamada y guardarlo en una variable de session.

Ventajas:
  1. No sólo controlas el user-agent (el usuario puede modificarlo al gusto), sino las capacidades de cada navegador.
  2. El mayor problema de los navegadores está en la ejecución de código de lado cliente (css, javascript, html), pues cada navegador tiene sus particularidades. Por lo general, el servidor no entiende de navegadores, se "limita" a recibir peticiones, procesarlas y devolver un resultado.
  3. Con una simple librería llamada modernizr.js puedes detectar lo que quieras con un par de líneas, y basta con tener el fichero actualizado para generar la compatibilidad total de detección de navegadores. Tú no tienes que hacer nada más.

Inconvenientes:
  1. No conozco el objetivo de hacerlo con PHP, pero si sigues necesitando que el servidor se entere del navegador que visita la web, lo mejor es que pases en la primera llamada a la página la variable por AJAX y lo guardes en una sesión.

Código Javascript:
Ver original
  1. $.ajax({
  2.     type: "POST",
  3.     url:  "ajax/guardar.php",
  4.     data: { "ua": "Firefox", "version": 29, "platform": 'Linux i686' }
  5. }).done(function( msg ) {
  6.     alert("Mensaje al terminar: " + msg); // terminada la llamada
  7. }).error(function(msg) {
  8.     alert("Mensaje de error:" + msg); // error en la petición
  9. });

Código PHP:
Ver original
  1.  
  2. $_SESSION['user-agent'] = array("ua"=> $_POST['ua'], "version"=> $_POST['version'], "platform"=> $_POST['platform']);
  3.  
  4. var_dump($_SESSION['user-agent']);

Fácil, rápido y para toda la familia.
Suerte.

Saludos!
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.