Mmmm, así que era para eso. Entonces te recomiendo que utilices una
aproximación diferente para generar las estadísticas. Lo mejor es colocar
una imagen invisible en las páginas que quieras controlar, y desde ella
llamas a tu script php de estadísticas. A continuación te pongo un ejemplo:

Al final de tus páginas/plantillas en html (va dentro de <body>, y lo pongo
al final para que no interfiera con el resto de la página), tienes que poner
algo parecido a esto:

<!--Código contador -->
<script type='text/javascript' language='javascript'
src="javascript/estadisticas.js"></script>
<noscript><img id="estadisticas"
src="estadisticas/estadisticas.php?javascriptActivado=No"
alt="estadísticas"></noscript>
<!--Fin código contador -->

En el archivo estadisticas.js, que yo pongo en la carpeta javascript, pero
que tú puedes poner donde te convenga, cambiando la línea
src="javascript/estadisticas.js":


referer=''+escape(document.referrer);
ancho=screen.width;
alto=screen.height;
resolucion=ancho+'x'+alto;
if(navigator.javaEnabled()){
    javaActivado="Si";
}else{
    javaActivado="No";
}
v=navigator.appName
if (v != 'Netscape') {
    prof=screen.colorDepth;
}else{
    prof=screen.pixelDepth;
}
parametros 
='?resolucion='+resolucion+"&amp;profColor="+prof+"&amp;referer="+referer+"&
amp;javaActivado="+javaActivado+"&amp;javascriptActivado=Si";
document.write("<img src='estadisticas/estadisticas.php"+parametros+"'
alt='estadísticas'>");



En el archivo php, cuya ruta se especifica en la línea
src='estadisticas/estadisticas.php", realizas el resto de comprobaciones, y
actualizas la base de datos. Sería algo así:

<?php

    header("Content-type: image/png");//Tenemos que generar una imagen, que
puede ser un contador, o una imagen de un sólo píxel, si no queremos mostrar
nada
    $ip = $_SERVER['REMOTE_ADDR']; Yo utilizo una cookie con la ip del
visitante, como método elemental para contabilizar una visita diaria por
visitante. Esta parte se debe mejorar necesitamos ser más estrictos.
    if($_COOKIE['tuIP']!=$ip) {
        setcookie('tuIP',$ip);
        $userAgent = $_SERVER['HTTP_USER_AGENT'];
// A partir de aquí comprobamos los valores enviados por javascript
        if (!$javascriptActivado = $_GET['javascriptActivado'])
$javascriptActivado = "n.e.";
        if (!$javaActivado = $_GET['javaActivado']) $javaActivado = "n.e.";
        if (!$resolucion = $_GET['resolucion']) $resolucion = "n.e.";
        if (!$profColor = $_GET['profColor']) $profColor = "n.e.";
        if (!$referer = $_GET['referer']) $referer = "Ninguno";


        // A partir de aquí irían el resto de validaciones realizadas con
php    

    
        //Conectamos a la base de datos

        // Añadir a la base de datos

    }
    
$im = imagecreatefrompng("falso.png");// En mi caso, no deseo mostrar nada,
así que devuelvo una imagen vacía de 1x1 px. a la que llamo falso.png y que
está en el mismo directorio que este script
imagepng($im);
imagedestroy($im);

?>

Conviene aplicar desde css un display= none; para evitar un icono de imagen
rota si falla algo en el proceso.
La única pega que encuentro a este sistema, es que el php ejecutado de esta
manera no da mensajes de error, por lo que debemos asegurarnos de que todo
el código funciona independientemente antes de llamarlo desde la imagen.

Suerte

xxxx


Eva


> On 4/20/05, Igor Ormaetxebarria <[EMAIL PROTECTED]> wrote:
>> Hola lista,
>> tengo una web (www.txurdi.net ) en la que lo primero de todo pongo un
>> javascript que calcula la resolucion de pantalla, y luego redirecciona a la
>> misma direccion pasando como GET los valores ancho y alto.
>> uso PHP.
>> Claro que, esto no es accesible, y quiero arreglarlo, porque si no, la gente
>> que no tiene javascript, no lo ve...
>> Los valores esos los uso para llevar una gestion de que resoluciones usan
>> mis usuarios.
>> Hay alguna otra manera de conseguir esos valores sin usar javascript? o de
>> hacer que si no tiene javascript siga adelante?
>> 
>> os paso mi código PHP para que lo veais:
>> 
>> <?php
>> 
>> if (!isset($_GET['width']) AND !isset($_GET['height']))
>> {
>>   echo "<script language=\"javascript\">\n";
>>   echo "
>> location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
>>           . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
>>   echo "</script>\n";
>>   exit();
>> }
>> else
>> {
>> ...la página normal
>> }
>> 
>> un saludo,
>> txurdi
> 


_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a