Nel senso di .....
quali informazioni posso ottenere in merito a chi naviga
nel sito?
es.: $_SERVER['HTTP_USER_AGENT']
Grazie. Walter
Nel senso di .....
quali informazioni posso ottenere in merito a chi naviga
nel sito?
es.: $_SERVER['HTTP_USER_AGENT']
Grazie. Walter
Nessuno mi può aiutare?
Hai solo l'imbarazzo della scelta.
Con la funzione get_browser() in uno script del tipostampi tutte queste informazioni sulle preferenze dell'utente:codice:<?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?>come da help di www.php.netcodice:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3 Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [css] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => )
Frames => 1 vuol dire che l'utente ha abilitato la visualizzazione dei frames, CSS => 2 vuol dire che il browser supporta il CSS fino alla versione 2.0 eccetera...
Prova i comandi in locale per testare lo script.
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property
Eventualmente se preferisci puoi utilizzare una soluzione di scripting lato client con Javascript, memorizzando i valori del browser in input nascosti.
Può essere utile per alleggerire il lavoro di php demandando i compiti al browser, chiaramente con una riduzione delle info disponibili.
E' possibile se per esempio hai un form che l'utente deve riempire per qualche motivo inserendo (senza che lui sappia) le info sul navigatorQuesto per esempio ti informa della risoluzione di schermo dell'utente. E' una soluzione un po' laboriosa, limitante (per la presenza del form) e ancora grezza, ma è quello che mi viene in mente ora e puoi lavorarci un po' su per migliorarla.codice:<SCRIPT Language="Javascript"> <!-- function screen_detect() { document.info.resolution.value = screen.width+"x"+screen.height; return; } //--> </SCRIPT> <FORM NAME="info" ACTION="target_page.php" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="resolution" VALUE=""> <INPUT TYPE="TEXT" NAME="other_input"> <INPUT TYPE="SUBMIT" VALUE="invia" onClick="screen_detect();"> </FORM>
Alcuni oggetti Javascript che ti danno informazioni sul browser sono
navigator.appName
navigator.userAgent
Prova a lanciare un alert in JS tipo
Comunque la soluzione lato server è la migliore.codice:alert('Browser ' + navigator.appName + '. \nVer: ' + navigator.userAgent);
Ciao
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property
grazie Emanuele.
Provo subito la cosa.
E' possibile, inoltre, risalire all'IP (128.333.xxx.yyy) assegnato dal provider all'utente che sta visitando le mie pagine?
Ciao. Walter
Personalmente non mi è mai servito estrapolare l'IP del visitatore come dato sensibile per le statistiche delle visite, ma quando mi servirà l'andrò a cercare qui.
(L'IP è formato da 4 serie di numeri compresi tra 0 e 255, il 333 non lo troverai mai in una stringa IP ;-)
Ciao
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property
Hai ragione.... 333 suona bene ma non centra uno spago con l'ip address
Grazie per la dritta. In particolare ho notato:
gethostname() e gethostbyaddr()
Ciao. Walter
Anche queste 2 variabili di ambiente ti possono tornare utili :
$_SERVER['HTTP_REFERER']
$_SERVER['REMOTE_ADDR']
La prima ti dice da dove un utente arriva esempio :
se lui trova il tuo sito su google e clicca da li il link tu sai dove ti ha trovato
La seconda ti dice l'ip dell'utente e questo ti serve a controllare quanti utenti unici hai al tuo sito esempio :
se l'utente con un ip si collega 100 volte al giorno hai sempre un solo utente ma se hai 100 ip diversi capisci che gli utenti sono molti di piu
![]()
Grazie Stefano.
Ciao Stefano,
molto interessante la variabile di server $_SERVER, ne ho letto le specifiche qui ed ha molte applicazioni utili, in particolare quella $_SERVER['HTTP_ADDR'] di cui parlavi.
Io personalmente nel database delle statistiche utilizzo una piccola tabella a parte di una sola riga in cui viene memorizzato il numero di sessioni; una semplice variabile $_SESSION['add_visit'] viene incrementata di 1 se all'apertura di una pagina risulta non impostata, facendo incrementare il numero di visite nella tabella con MySQL.
E' comodo perché permette di calcolare il numero di pagine medie visitate per sessione, quindi il livello di attrazione del sito e quello di interesse dei visitatori. Ma in effetti non tiene conto dell'identità dei visitatori (o meglio, del loro punto di accesso = IP).
Come faresti poi però a contare in modo unico gli IP, evitando di considerare più volte quelli già contati?
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property