gimbras Posted January 13, 2007 at 01:54 AM Report #76032 Posted January 13, 2007 at 01:54 AM Boas, Estou a criar um script de estatísticas para o meu site e preciso de um ajudinha. Consigo saber a hora, dia, mês, ano e ip do visitante. $dia = gmdate("d"); $mes = gmdate("m"); $ano = gmdate("Y"); $hora = gmdate("H:i"); $ip = $_SERVER['REMOTE_ADDR']; Mas quero encontrar mais informação sobre quem nos visita. Vou adicionar as seguintes variáveis que o PHP irá devolver: $browser = $_SERVER['HTTP_USER_AGENT']; $referer $_SERVER['HTTP_REFERER']; A primeira é para saber o browser do cliente (computador do visitante), a segunda de onde veio ele. Só não sei como se faz para saber que Sistema Operativo tem e que resolução definiu. Podem-me dar umas dicas. Agradeço a vossa ajuda. Cumps. PS: Se quiserem sugerir mais alguma variável interessante para um script de estatísticas, força nisso! Redcodestudio - Programação Web - http://www.redcodestudio.com/
fil79 Posted January 13, 2007 at 02:12 PM Report #76070 Posted January 13, 2007 at 02:12 PM em relação ao sistema operativo não te sei dizer, mas na resolução penso que tem de ser feito em javascript MCITP-MCTS-MCP
skin Posted January 13, 2007 at 02:18 PM Report #76071 Posted January 13, 2007 at 02:18 PM É isto que queres 🙂 (acho eu) if(ereg("Win", $_SERVER["HTTP_USER_AGENT"])) $os = "Windows"; elseif((ereg("Mac", $_SERVER["HTTP_USER_AGENT"])) || (ereg("PPC", $_SERVER["HTTP_USER_AGENT"]))) $os = "Mac"; elseif(ereg("Linux", $_SERVER["HTTP_USER_AGENT"])) $os = "Linux"; elseif(ereg("FreeBSD", $_SERVER["HTTP_USER_AGENT"])) $os = "FreeBSD"; elseif(ereg("SunOS", $_SERVER["HTTP_USER_AGENT"])) $os = "SunOS"; elseif(ereg("IRIX", $_SERVER["HTTP_USER_AGENT"])) $os = "IRIX"; elseif(ereg("BeOS", $_SERVER["HTTP_USER_AGENT"])) $os = "BeOS"; elseif(ereg("OS/2", $_SERVER["HTTP_USER_AGENT"])) $os = "OS/2"; elseif(ereg("AIX", $_SERVER["HTTP_USER_AGENT"])) $os = "AIX"; else $os = "Outro"; Our lives begin to end the day we become silent about things that matter - Martin Luther King
-IceBurn- Posted January 13, 2007 at 05:48 PM Report #76081 Posted January 13, 2007 at 05:48 PM Já agora deixo aqui a minha contribuição: <?php ///////////////////////////////////////////////////////////////////////////// // Detectar Sistema Operativo // // Elaborado por =IceBurn= 2006 // // * * * * * * * WWW.TENHAMEDO.NET * * * * * * * // ///////////////////////////////////////////////////////////////////////////// $user_agent = $_SERVER['HTTP_USER_AGENT']; if (preg_match("/Windows 95/i", $user_agent)) $so = "Windows 95"; else if (preg_match("/Win95/i", $user_agent)) $so = "Windows 95"; else if (preg_match("/Win98/i", $user_agent)) $so = "Windows 98"; else if (preg_match("/Windows ME/i", $user_agent)) $so = "Windows ME"; else if (preg_match("/Windows 98/i", $user_agent)) $so = "Windows 98"; else if (preg_match("/Win 9x 4.90/i", $user_agent)) $so = "Windows ME"; else if (preg_match("/Windows 2000/i", $user_agent)) $so = "Windows 2000"; else if (preg_match("/Windows NT 5.0/i", $user_agent)) $so = "Windows 2000"; else if (preg_match("/Windows XP/i", $user_agent)) $so = "Windows XP"; else if (preg_match("/Windows NT 5.1/i", $user_agent)) $so = "Windows XP"; else if (preg_match("/Windows NT 5.2/i", $user_agent)) $so = "Windows XP x64 Edition"; else if (preg_match("/Windows NT 6.0/i", $user_agent)) $so = "Windows Vista"; else if (preg_match("/Windows NT/i", $user_agent)) $so = "Windows NT"; else if (preg_match("/WinNT/i", $user_agent)) $so = "Windows NT"; else if (preg_match("/Windows CE/i", $user_agent)) $so = "Windows Mobile"; else if (preg_match("/Linux/i", $user_agent)) $so = "Linux"; else if (preg_match("/BSD/i", $user_agent)) $so = "BSD"; else if (preg_match("/SunOS/i", $user_agent)) $so = "Solaris"; else if (preg_match("/Mac OS X/i", $user_agent)) $so = "Mac OS X"; else if (preg_match("/Mac_PowerPC/i", $user_agent)) $so = "Mac OS"; else if (preg_match("/Macintosh/i", $user_agent)) $so = "Mac OS"; else if (preg_match("/Mac/i", $user_agent)) $so = "Mac OS"; else $so = "Desconhecido"; echo $so; ?>
fil79 Posted January 14, 2007 at 05:37 PM Report #76232 Posted January 14, 2007 at 05:37 PM já agora para a resolução: javascript screen.width screen.height em relação ao script que detecta o sistema operativo não está a funcionar no meu servidor, aparece uma página em branco.... MCITP-MCTS-MCP
skin Posted January 14, 2007 at 08:34 PM Report #76264 Posted January 14, 2007 at 08:34 PM Se fores ver à area do JavaScript > Armazém de Código tem lá um script que eu fiz 👍 Our lives begin to end the day we become silent about things that matter - Martin Luther King
-IceBurn- Posted January 14, 2007 at 08:39 PM Report #76266 Posted January 14, 2007 at 08:39 PM em relação ao script que detecta o sistema operativo não está a funcionar no meu servidor, aparece uma página em branco.... Suponho que não estejas a referir-te ao meu post....
djthyrax Posted January 14, 2007 at 08:41 PM Report #76268 Posted January 14, 2007 at 08:41 PM em relação ao script que detecta o sistema operativo não está a funcionar no meu servidor, aparece uma página em branco.... Suponho que não estejas a referir-te ao meu post.... Ele deve tar a falar do do Skin, ele n tem nnh echo/print/whatever 👍 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
skin Posted January 14, 2007 at 09:05 PM Report #76279 Posted January 14, 2007 at 09:05 PM O que eu fiz é para guardar numa base de dados e por isso tenho o resto do código que me faz tudo. Mas é simples, se sabes PHP sabes que é só pores echo $os; Our lives begin to end the day we become silent about things that matter - Martin Luther King
fil79 Posted January 14, 2007 at 11:06 PM Report #76314 Posted January 14, 2007 at 11:06 PM em relação ao script que detecta o sistema operativo não está a funcionar no meu servidor, aparece uma página em branco.... Suponho que não estejas a referir-te ao meu post.... pois em relação ao script que detecta o sistema operativo não está a funcionar no meu servidor, aparece uma página em branco.... Suponho que não estejas a referir-te ao meu post.... é mesmo o teu que não funciona MCITP-MCTS-MCP
fil79 Posted January 14, 2007 at 11:10 PM Report #76317 Posted January 14, 2007 at 11:10 PM o primeiro funciona mas o segundo népia..... MCITP-MCTS-MCP
djthyrax Posted January 14, 2007 at 11:29 PM Report #76323 Posted January 14, 2007 at 11:29 PM fil79, tu sabes ao menos o que eles têm no código? Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
fil79 Posted January 15, 2007 at 12:11 AM Report #76335 Posted January 15, 2007 at 12:11 AM vamos ao exemplo que não funciona aqui.... 1ºcriou a variável que detecta o browser 2ºcriou uma estrutura if com a função preg_match para procurar uma palavra especifica... ex:se tiver a palavra Windows XP/i a variável $os toma o valor window XP..... 3º imprime o valor da variável $os está bem pensado mas como já disse anteriormente não está a funcionar aqui....mas de qq modo não perecebo qual o intuito da pergunta.... MCITP-MCTS-MCP
djthyrax Posted January 15, 2007 at 01:29 AM Report #76355 Posted January 15, 2007 at 01:29 AM fil79, era só para saber se eras daqueles que é só copy paste. Anyway, o skin n tem ali nnh echo, é impossível teres algum output. Se lá meteres echo $os; no final, vais ter SEMPRE um output. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
-IceBurn- Posted January 15, 2007 at 06:22 AM Report #76366 Posted January 15, 2007 at 06:22 AM o primeiro funciona mas o segundo népia..... Não sei o que estás a fazer de mal, mas alguma coisa tem de ser, porque uma página em branco é impossivel.
fil79 Posted January 15, 2007 at 12:00 PM Report #76389 Posted January 15, 2007 at 12:00 PM fil79, era só para saber se eras daqueles que é só copy paste. Anyway, o skin n tem ali nnh echo, é impossível teres algum output. Se lá meteres echo $os; no final, vais ter SEMPRE um output. pois esse consegui logo á primeira....entretanto já consegui rodar o outro, mas sinceramente continuei sem saber qual o erro que dava...estava a guardar a página no notepad e aparecia sempre uma página em branco...entretanto tentei no notepad++ para melhor visualizar a estrutura do script e aí deu(?!??!?!?!?!??!?!)........há coisas!!!! MCITP-MCTS-MCP
fil79 Posted January 15, 2007 at 01:28 PM Report #76399 Posted January 15, 2007 at 01:28 PM de qualquer modo os scripts estão porreiros 👍 ...eu não chegaria lá MCITP-MCTS-MCP
djthyrax Posted January 15, 2007 at 03:39 PM Report #76432 Posted January 15, 2007 at 03:39 PM Ainda bem que tás satisfeito 👍 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
gimbras Posted January 16, 2007 at 11:35 AM Author Report #76546 Posted January 16, 2007 at 11:35 AM Ena, obg pelas respostas. Mas será assim tão necessário um script tão longo para detectar o OS? Bastou-me $_SERVER['HTTP_USER_AGENT'] para saber o sistema Operativo do cliente. 'HTTP_USER_AGENT' Contents of the User-Agent: header from the current request, if there is one. This is a string denoting the user agent being which is accessing the page. A typical example is: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Among other things, you can use this value with get_browser() to tailor your page's output to the capabilities of the user agent. Fui a esta página para saber mais variáveis deste tipo, aqui. Redcodestudio - Programação Web - http://www.redcodestudio.com/
djthyrax Posted January 16, 2007 at 07:01 PM Report #76642 Posted January 16, 2007 at 07:01 PM Nós estamos a usar essa variável 😛 O código é assim tão qd pk n nos interessa se o user-agent é "Firefox 2.0 Gecko/500246040 build 56045640 blah blah (Windows NT)". O que nos interessa é só um nome, fica mais "bonito" 🙂 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now