-
PHP - Fundamentos Básicos
-
Lecture 1PHP – Tutorial
-
Lecture 2PHP – Introdução
-
Lecture 3PHP – Configuração de Ambiente
-
Lecture 4PHP – Visão geral da sintaxe
-
Lecture 5PHP – Tipos de Variáveis
-
Lecture 6PHP – Tipos de Constantes
-
Lecture 7PHP – Tipos de Operadores
-
Lecture 8PHP – Tomada de Decisão
-
Lecture 9PHP – Tipos de Loop
-
Lecture 10PHP – Arrays
-
Lecture 11PHP – Strings
-
Lecture 12PHP – Conceitos Web
-
Lecture 13PHP – Métodos GET e POST
-
Lecture 14PHP – Inclusão de Arquivo
-
Lecture 15PHP – Arquivos e I/O
-
Lecture 16PHP – Funções
-
Lecture 17PHP – Cookies
-
Lecture 18PHP – Sessions
-
Lecture 19PHP – Enviando e-mails usando PHP
-
Lecture 20PHP – upload de arquivo
-
Lecture 21PHP – Padrão de Codificação
-
PHP – Conceitos Web
Esta sessão demonstra como o PHP pode fornecer conteúdo dinâmico de acordo com o tipo de navegador, números gerados aleatoriamente ou entrada do usuário. Também demonstrou como o navegador do cliente pode ser redirecionado.
Identificando o navegador e a plataforma
PHP cria algumas variáveis de ambiente úteis que podem ser vistas na página phpinfo.php que foi usada para configurar o ambiente PHP.
Uma das variáveis de ambiente definidas pelo PHP é HTTP_USER_AGENT, que identifica o navegador e o sistema operacional do usuário.
O PHP fornece uma função getenv () para acessar o valor de todas as variáveis de ambiente. As informações contidas na variável de ambiente HTTP_USER_AGENT podem ser usadas para criar conteúdo dinâmico apropriado para o navegador.
O exemplo a seguir demonstra como você pode identificar um navegador cliente e sistema operacional.
NOTA – A função preg_match () é discutida em Expressão regular do PHP.
<html> <body> <?php function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT']; $bname = 'Unknown'; $platform = 'Unknown'; $version = ""; //First get the platform? if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; }elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; }elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; } // Next get the name of the useragent yes seperately and for good reason if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; } elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; } elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; }elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; }elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; }elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; } // finally get the correct version number $known = array('Version', $ub, 'other'); $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1) { //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; }else { $version= $matches['version'][1]; } }else { $version= $matches['version'][0]; } // check if we have a number if ($version == null || $version == "") {$version = "?";} return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); } // now try it $ua = getBrowser(); $yourbrowser = "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent']; print_r($yourbrowser); ?> </body> </html>
Isso está produzindo o seguinte resultado na minha máquina. Este resultado pode ser diferente para o seu computador, dependendo do que você está usando.
Exibir imagens aleatoriamente
A função rand () do PHP é usada para gerar um número aleatório.i Esta função pode gerar números dentro de um determinado intervalo. O gerador de números aleatórios deve ser propagado para evitar que um padrão regular de números seja gerado. Isso é obtido usando a função srand () que especifica o número da semente como seu argumento.
O exemplo a seguir demonstra como você pode exibir imagens diferentes a cada vez entre quatro imagens.
<html> <body> <?php srand( microtime() * 1000000 ); $num = rand( 1, 4 ); switch( $num ) { case 1: $image_file = "/php/images/logo.png"; break; case 2: $image_file = "/php/images/php.jpg"; break; case 3: $image_file = "/php/images/logo.png"; break; case 4: $image_file = "/php/images/php.jpg"; break; } echo "Random Image : <img src=$image_file />"; ?> </body> </html>
Usando formulários HTML
A coisa mais importante a notar ao lidar com formulários HTML e PHP é que qualquer elemento de formulário em uma página HTML estará automaticamente disponível para seus scripts PHP.
Experimente o exemplo a seguir, colocando o código-fonte no script test.php.
<?php if( $_POST["name"] || $_POST["age"] ) { if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) { die ("invalid name and name should be alpha"); } echo "Welcome ". $_POST['name']. "<br />"; echo "You are ". $_POST['age']. " years old."; exit(); } ?> <html> <body> <form action = "<?php $_PHP_SELF ?>" method = "POST"> Name: <input type = "text" name = "name" /> Age: <input type = "text" name = "age" /> <input type = "submit" /> </form> </body> </html>
- A variável padrão do PHP $ _PHP_SELF é usada para o nome do script PHP e quando você clicar no botão “enviar”, o mesmo script PHP será chamado e produzirá o seguinte resultado.
- O método = “POST” é usado para postar dados do usuário no script do servidor. Existem dois métodos de postar dados no script do servidor que são discutidos no capítulo PHP GET & POST.
Redirecionamento de navegador
A função PHP header () fornece cabeçalhos HTTP brutos para o navegador e pode ser usada para redirecioná-lo para outro local. O script de redirecionamento deve estar no topo da página para evitar que qualquer outra parte da página seja carregada.
O destino é especificado pelo cabeçalho Location: como o argumento para a função header (). Depois de chamar essa função, a função exit () pode ser usada para interromper a análise do restante do código.
O exemplo a seguir demonstra como você pode redirecionar uma solicitação do navegador para outra página da web. Experimente este exemplo colocando o código-fonte no script test.php.
<?php if( $_POST["location"] ) { $location = $_POST["location"]; header( "Location:$location" ); exit(); } ?> <html> <body> <p>Choose a site to visit :</p> <form action = "<?php $_SERVER['PHP_SELF'] ?>" method ="POST"> <select name = "location">. <option value = "http://www.tutorialspoint.com"> Tutorialspoint.com </option> <option value = "http://www.google.com"> Google Search Page </option> </select> <input type = "submit" /> </form> </body> </html>