Algo Útil
Vamos fazer alguma coisa um pouco mais útil agora. Nós iremos checar
qual é o tipo de navegador que o visitante está utilizando para ver a nossa página.
Para fazer isto nós iremos checar qual é o valor da string agente que o navegador
envia como parte de sua requisição HTTP. Esta informação é armazenada em uma variável. Variáveis sempre começam
com um símbolo de cifrão no PHP. A variável que nos interessa no momento
é $_SERVER['HTTP_USER_AGENT'].
Nota:
$_SERVER é uma
variável especial reservada do PHP que contém todas as informações sobre o servidor web.
Ela é conhecida como uma superglobal. Veja a página do manual relacionada às
superglobais
para mais informações.
Para exibir esta variável, nós podemos fazer isto:
Exemplo #1 Imprimindo uma variável (elemento do Array)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Um exemplo de saída desse script poderia ser:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Há muitos tipos de
variáveis disponíveis no PHP. No exemplo acima nós imprimimos
um elemento do Array.
Arrays podem ser muito úteis.
$_SERVER é somente uma das variáveis que o PHP automaticamente
disponibiliza para você. A lista destas variáveis pode ser vista na seção
Variáveis Reservadas
do manual ou você pode obter uma lista completa delas olhando
o resultado da função phpinfo() utilizada no
exemplo da seção anterior.
Você pode colocar múltiplas instruções PHP dentro da tag PHP e criar
pequenos blocos de códigos que fazem muito mais do que um simples echo.
Por exemplo, se você quer checar se o navegador é o Internet Explorer você
pode fazer isso:
Exemplo #2 Exemplo utilizando estruturas
de controle e funções
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'You are using Internet Explorer.<br />';
}
?>
Um exemplo de saída deste script seria:
You are using Internet Explorer.<br />
Aqui nós introduzimos alguns conceitos novos. Nós temos a declaração
if.
Se você está familiarizado com a sintaxe básica usada pela
linguagem C isto parecerá ser lógico para você. Se não você
provavelmente deve ver um livro introdutório de PHP e ler os
capítulos iniciais, ou ainda ler a seção Referência da
Linguagem do manual.
O segundo conceito que iremos abordar é a chamada à função strpos().
A função strpos() vem junto com
o PHP e busca uma palavra em outra palavra. Neste caso nós estamos
procurando pelo texto 'MSIE'
dentro de
$_SERVER['HTTP_USER_AGENT']. Se
a palavra for encontrada, a função retorna a posição
do texto pesquisado em relação ao começo do texto onde houve a pesquisa. Se a palavra não for encontrada
a função retorna false
. Neste exemplo, se não retornar false
o if avalia para true
e o código dentro dos {colchetes} é executado. Caso contrário o código não
roda. Tente criar exemplos similares
com if,
else, e outras
funções como strtoupper() e
strlen(). Cada página relacionada contém exemplos
também. Se você estiver incerto em como utilizar funções você deve ler
as páginas sobre como ler uma
definição de função e a seção sobre
funções do PHP.
Nós podemos avançar agora e mostrar a você como alternar entre os modos
PHP mesmo que você esteja executando blocos de códigos:
Exemplo #3 Mesclando entre os modos PHP e HTML
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() must have returned non-false</h3>
<p>You are using Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() must have returned false</h3>
<p>You are not using Internet Explorer</p>
<?php
}
?>
Um exemplo de saída deste script poderia ser:
<h3>strpos() must have returned non-false</h3>
<p>You are using Internet Explorer</p>
Ao invés de usar a declaração echo do PHP para imprimir a saída dos dados, nós saímos
do modo do PHP e usamos o HTML normal. O importante a notar aqui
é que a lógica do script continua intacta. Somente
um dos blocos HTML será enviado dependendo do
resultado da chamada à função strpos(). Em outras palavras, depende
se a palavra MSIE
for encontrada ou não.