Disciplina: Desenvolvimento Web Dinâmico Prof. Leandro Pisco INTRODUÇÃO À PHP LINGUAGEM DE PROGRAMAÇÃO Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.<BR> Linguagens históricas: Assembly - BASIC - Clipper - COBOL - Fortran Linguagens acadêmicas: Pascal - Prolog - Haskell - Lisp - Logo Linguagens comerciais: C - C++ - C# - COBOL - Coldfusion - Delphi – Visual - Basic Linguagens livres: Euphoria - Java - JavaScript - Lua - Perl - PHP - Python - Ruby LINGUAGEM DE PROGRAMAÇÃO PHP PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links. A diferença de PHP com relação a linguagens semelhantes a Javascript é que o código PHP é executado no servidor, sendo enviado para o cliente apenas html puro. Falando estritamente, o PHP tem pouca relação com layout, eventos ou qualquer coisa relacionada à aparência de uma página da Web. De fato, a maior parte do que o PHP realiza é invisível para o usuário final. Alguém visualizando uma página de PHP não será capaz de dizer que não foi escrita em HTML, porque o resultado final do PHP é HTML. PRINCIPAIS CARACTERÍSTICAS DA LINGUAGEM PHP O principal propósito do PHP é elaborar soluções web de forma dinâmica, veloz, simples e eficiente. Como a linguagem PHP não é “burocrática”, rapidamente podemos criar páginas dinâmicas ou sistemas, interagindo com banco de dados. Algumas características: Velocidade e robustez Pode ser programado de forma estruturada e/ou orientado a objetos Portabilidade - independência de plataforma (por ser uma linguagem web) Tipagem dinâmica Sintaxe similar a C/C++ e o Perl e outras linguagens Open-source DO QUE PRECISAMOS PARA UTILIZAR O PHP ? Para executar o PHP é necessário fazer instalações de alguns aplicativos no computador. No caso, precisamos instalar: Servidor Apache. O Apache é um servidor Web extremamente configurável, robusto e de alta performance desenvolvido por uma equipe de voluntários (conhecida como Apache Group). Existem versões para linux e windows. Linguagem PHP. Linguagem de programação Web, o mesmo precisa estar instalado em um servidor. Postgresql, mysql – banco de dados para entrada de informações. Os bancos de dados mais comuns para utilização com o PHP são o postgresql e o mysql. Os aplicativos acima podem ser instalados em separado, um de cada vez, iniciando sempre do servidor Apache. Sendo que existem alguns pacotes de instalação apache, php e banco de dados. Mas cuidado com a versão do sistema operacional que está utilizando, tanto se for instalar um a um, quanto no caso do pacote. Sugestões de pacotes de instalação - easyphp :http://www.easyphp.org - Wamp5 : http://www.baixaki.com.br/download/wamp5.htm - PHPTRIAD : http://www.baixaki.com.br/download/php-triad.htm - APACHE2TRIAD : http://www.baixaki.com.br/download/apache2triad.htm ESTRUTURA DE UM PROGRAMA EM PHP A linguagem PHP possui uma estrutura no seu desenvolvimento. Por funcionar em conjunto com o HTML, ambas as TAGS se misturam. Tags HTML – São comandos que serão enviados ao browser do cliente sem qualquer tipo de formatação pelo PHP. Nesta parte você pode colocar a inicialização de uma tag HTML(<html>,<body>,<table>, etc) e quaisquer outras informações úteis à melhor apresentação de sua página, tais como: programas javascript e outros. Código PHP – Começando sempre com a tag <?php, você pode colocar um ou vários scripts php numa única página, concatenando scripts PHP com tags HTML.Os scripts php terminam sempre com ?>. Comandos Sql – O PHP possui funções específicas para interpretar códigos sql, dentro de um programa PHP. Como surgiu a linguagem PHP ? Introdução a linguagem PHP 3 “A linguagem PHP foi concebida em 1994 por Rasmus Lerdorf. As primeiras versões não foram disponibilizadas, tendo sido utilizadas em sua home-page apenas para que ele pudesse ter informações sobre as visitas que estavam sendo feitas. Em meados de 1995 o interpretador foi reescrito, e ganhou o nome de PHP/FI, o “FI” veio de um outro pacote escrito por Rasmus que interpretava dados de formulários HTML (Form Interpreter). Ele combinou os scripts do pacote Personal Home Page Tools com o FI e adicionou suporte a mSQL, nascendo assim o PHP/FI, que cresceu bastante, e as pessoas passaram a contribuir com o projeto”. Fonte: Apostila de PHP da UNIVERSIDADE FEDERAL DE SERGIPE por por Maurício Vivas de Souza Barreto e http://pt.wikipedia.org/wiki Sites de apoio: Manual do PHP : http://www.php.net/manual/pt_BR/ Retirado de: www.simplesphp.net Agradecimento: (Prof. Rosane Faculdades Simonsen.) SINTAXE BÁSICA E VARIÁVEIS EM PHP SINTAXE BÁSICA Delimitando o código PHP – Exemplo mais comum Todo código em PHP deverá ser iniciado com <? ou <?php , e encerrando o código em PHP ?> Outros Exemplos de Delimitadores de código PHP 1.1 <?php echo "se você quer servir documentos XHTML ou XML, faça assim";?> 1.2 <script language="php"> echo "se você quer servir documentos XHTML ou XML, faça assim"; </script> 1.3.<? echo "se você quer servir documentos XHTML ou XML, faça assim"; ?> 1.4. <% echo "se você quer servir documentos XHTML ou XML, faça assim"; %> obs: Este último está desabilitado na configuração por ser similar ao delimitador do ASP. Usaremos com frequência o delimitador <?php para abrir e o ?> para fechar. Comandos de Saída Quando for necessário exibir alguma informação na tela, podemos utilizar os comandos echo ou print. Comando echo Para exibir o conteúdo (ou valor) de uma variável, usaremos o comando echo. O comando echo é utilizado para imprimir conteúdo de variáveis simples e/ou textos Exemplo: <?php // Este é um exemplo de programa em PHP Echo “AULA DE PHP”; ?> Comando print Utilizado para imprimir strings simples, através de uma variável. Exemplo: <?php // Este é um exemplo de programa em PHP print "EXEMPLO COM PRINT - AULA DE PHP"; ?> Separador de Instruções ; (ponto e vírgula) Entre cada instrução em PHP é preciso utilizar o ponto-e-vírgula, assim como em C, Perl e outras linguagens mais conhecidas. Exemplo: <?php echo "teste"; echo "teste2"; ?> Comentários Quando se fizer necessário algum comentário no meio do programa, utiliza-se // (duas barras) antes da frase. Caso seja um bloco de comentários, inicia-se com /* e no final do comentário, fechar com */ . Exemplo: <?php /* Comentando um programa PHP */ echo "teste"; echo "teste2"; ?> Parse error: parse error Quando ocorre algum erro na digitação de alguns comandos ou sintaxes, como não colocar ponto e vírgula no final da linha de comando, não fechar ou abrir chaves devidamente em comandos condicionais ou repetição. EXECUTANDO OS CÓDIGOS EM PHP Para executar os scripts escritos em PHP, torna-se necessário gravá-los na pasta C:\APACHE\HTDOCS. Esta pasta é gerada após a instalação do Apache. Os programas escritos em PHP deverão possuir a extensão .php (exemplo: programa.php). Para executá-lo, devemos acessar o endereço: 127.0.0.1/programa.php. O endereço 127.0.0.1 é um endereço padrão IP, utilizado como localhost, para conexões locais. PRIMEIRO SCRIPT O primeiro passo para todo o iniciante em programação ou em uma nova linguagem é criar seu primeiro programa. Programa Exemplo: exemplo1.php <?php echo "<p align="center">Meu primeiro programa em PHP!!! </p><br>"; ?> Este primeiro exemplo mostrará a frase “Este é meu primeiro programa em PHP!!!” no centro da página. Como estamos utilizando tags HTML dentro de um script em PHP, todo o conteúdo deverá ficar entre aspas duplas (“ “). VARIÁVEIS EM PHP Uma variável, como o próprio nome já diz, é aquilo que varia. Em Programação as variáveis são utilizadas para o armazenamento de valores de forma temporária, durante a execução de um script (programa). NOMES DAS VARIÁVEIS As variáveis, no PHP, começam com o símbolo $. Não podem ter como primeiro caracter números (por exemplo, $9 não é um nome válido para uma variável). Além disso o PHP é case sensitive, isto é, ele faz distinção entre letras maiúsculas e minúsculas. Desta forma, $numero é diferente de $Numero que é diferente de $NUMERO ou qualquer combinação entre minúsculas e maiúsculas. Uma característica destas variáveis é que elas são de uso LOCAL, ou seja, passam a não existir mais caso terminemos a execução do script. TIPOS DE VARIÁVEIS Existem diversos tipos de variáveis que podemos agrupar da seguinte forma: Booleanos; Inteiros; Números de ponto flutuante; Strings; Arrays; Objetos; Resource; NULL. Os tipos de variáveis geralmente são atribuídos quando uma variável recebe o valor. No PHP não existe a necessidade de declarar uma variável. Tipo Booleano : Este é o tipo mais fácil. Um booleano expressa um valor de verdade. Ele pode ser TRUE ou FALSE. Sintaxe: Para especificar um literal booleano, use as palavras chave TRUE ou FALSE. Ambas são insensitivas ao caso. Exemplo: aula1_2.php <?php $boleano = True; // assimila o valor TRUE para $variavel, retorna 1 echo "Variavel : $boleano<BR><BR>"; $boleano = False; // assimila o valor FALSE para $variavel, retorna NULL echo "Variavel : $boleano"; ?> Tipo Inteiro : Um inteiro é um número do conjunto Z = {..., -2, -1, 0, 1, 2, ...}. Exemplo: exemplo2.php <?php $numero1 = 1234; // número decimal echo $numero1."<br>"; ?> Tipo String : Uma string é uma série de caracteres. No PHP, um caracter é o mesmo que um byte, ou seja, há exatamente 256 caracteres diferentes possíveis. Exemplo: Aspas simples – exemplo4.php <?php $linguagem = "PHP"; $nome = "David"; echo $linguagem."<br>"; // concatenando a variável com uma tag HTML<br> // Abaixo, concatenando um texto, a uma variável e a uma tag <br> echo "Eu amo programar em ".$linguagem."<br>"; // No caso da utilização das aspas duplas, não precisa concatenar echo “Eu amo programar em $linguagem<br>”; ?> Dicas: Ao criar as variáveis de um programa, tente utilizar nomes simples e que tenha a ver com a informação que está sendo armazenada. Procure também criar um dicionário e padronizar as variáveis, sempre utilizando todas as variáveis com letras minúsculas, para não correr o risco de, por exemplo, usar uma variável $totalpago para somar valores e no momento de mostrar a soma usar a variável $Totalpago. O resultado sairá zerado. OPERADORES DE ATRIBUIÇÃO E DE STRING OPERADOR DE ATRIBUIÇÃO : O operador básico de atribuição é "=". A sua primeira inclinação deve ser a de pensar nisto como "é igual". Não. Isto quer dizer, na verdade, que o operando da esquerda recebe o valor da expressão da direita . OPERADOR DE STRING CONCATENAÇÃO : Há dois operadores de string. O primeiro é o operador de concatenação ("."), que retorna a concatenação dos seus argumentos direito e esquerdo. O segundo é o operador de atribuição de concatenação (".="), que acrescenta o argumento do lado direito no argumento do lado esquerdo. EXERCÍCIO 1) Crie um programa em php com os seguintes dados: a) Atribua o seu nome a uma variável. Imprima esta variável na tela, com salto de linha. b) Atribua a sua idade a uma variável. Imprima esta variável na tela, concatenando depois da frase “Minha idade: ”. Utilize salto de linha. Retirado de: www.simplesphp.net Agradecimento: (Prof. Rosane Faculdades Simonsen.) VARIÁVEIS PRÉ DEFINIDAS E FORMULÁRIOS O PHP oferece um grande número de variáveis pré definidas para qualquer script que ele execute. A princípio, conheceremos duas destas variáveis: $_GET : É uma variável superglobal, onde ficam armazenadas informações postadas para o script através do método HTTP GET. Através do método GET de um formulário HTML, as variáveis ficam visíveis na URL. Ou seja, podemos “passar” informações através da URL e regatá-las através do $_GET. $_POST : É uma variável superglobal, onde ficam armazenadas informações postadas para o script através do método HTTP POST. Através do método POST de um formulário HTML, as variáveis não ficam visíveis na URL. Vamos entrar em mais detalhes com as variáveis $_GET e $_POST nos próximos tópicos. http://www.imasters.com.br/artigo/992 http://www.itmnetworks.com.br/suporte/manuais/php/reserved.variables.html FORMULÁRIOS HTML Os formulários constituem-se de extrema importância no HTML, uma vez que são responsáveis pela interação entre um usuário e o servidor, possibilitando a troca de dados ou informações. Um formulário possuem algumas tags importantes como: <form></form> : Abre e fecha o formulário. Um form pode possuir um nome (name) e um método (method). <input> : São as caixas de texto colocadas no formulário para que o usuário digite os dados. Uma tag input possui alguns tipos, que devem ser definidos na propriedade type, mas vamos conhecer neste momento apenas dois: Text: Para receber os dados, o input deve ficar assim: <input type=text name=nome>. Antes do <input> poderá ficar uma descrição, que será livre. Nome: <input type=text name=nome> Submit: Para submeter o formulário, ou sejam fazer com que as informações sejam passadas pela url, o input deve ficar assim: <input type=submit name=Clique value=Clique>. O atributo type indica o tipo de <input> que estamos utilizando. MÉTODOS GET E POST Quando um formulário HTML é submetido, qualquer variável vinda deste um formulário será automaticamente disponível para o script em PHP. O que irá determinar de que forma iremos postar uma variável, é o método (method) utilizado na tag <form> de um formulário HTML. Ou seja, os dados digitados no formulário poderão ser capturados e trabalhados. Abaixo, seguem métodos utilizados no formulário, para envio das informações: GET – Só pode enviar até 255 caracteres de informações e estas vão como parte da URL. As variáveis e o seu conteúdo ficam visíveis para o usuário. POST – Pode enviar um número ilimitado de informações. As variáveis e seu conteúdo ficam invisíveis para o usuário. Exemplo de um formulário para receber nome e telefone, utilizando o método get: salve na pasta c:apachehtdocs como exemploform.php <form method="get"> NOME <input type="text" name="nome"> TELEFONE <input type="text" name="telefone"> <input type="submit" name="Opcao" value="Clique"> </form> Execute o formulário acima digitando o endereço 127.0.0.1/exemploform.php. Será mostrado na url algo mais ou menos assim: 127.0.0.1/exemploform.php? nome=Rosane&telefone=33313333 E a aparência do fomulário mais ou menos assim: MESCLANDO UM POUCO DE PHP COM HTML Leiam o seguinte tutorial, é importante para o uso de formulários: http://www.juliobattisti.com.br/tutoriais/juliosabreu/formularioshtml001.asp Agora, vamos mesclar dados PHP juntamente com o HTML. Nosso objetivo: depois que o usuário clicar no botão Clique, os dados deverão ser impressos na tela em PHP. Abaixo, tudo que está em negrito deverá ser acrescentado no programa. <html> <body> <?php $nome = $_GET["nome"]; // Atribuindo os dados da URL para uma variável $rua = $_GET["rua"]; // Atribuindo os dados da URL para uma variável $numero = $_GET["numero"]; // Atribuindo os dados da URL para uma variável echo $nome."<br>"; // Imprimindo as variáveis na tela echo $rua."<br>"; // Imprimindo as variáveis na tela echo $numero."<br>; // Imprimindo as variáveis na tela ?> <form method="get"> Nome: <input type="text" name="nome" size="40"><br> Rua: <input type="text" name="rua" size="40"><br> Número: <input type="text" name="numero" size="10" ><br> <input type="submit" name="submit" value="Clique"> </form> </body> </html> Observe que, na sintaxe de utilização do $_GET, entre os cochetes ([ ]), colocamos o conteúdo do name da tag input. Se algo for digitado errado, nada será exibido. Agora, podemos fazer o mesmo exemplo acima, substituindo o método get por post e também a variável pré-definida $_GET por $_POST. Estes dados no futuro, poderão ser gravados em um arquivo ou banco de dados. Em suma: Em um formulário HTML, usar a seguinte premissa: Se utilizar o método get, utilize a variável $_GET Se utilizar o método post, utilize a variável $_POST Para conhecer mais variáveis pré definidas e de ambiente: http://www.itmnetworks.com.br/suporte/manuais/php/reserved.variables.html http://php.net/manual/pt_BR/reserved.variables.php EXERCÍCIOS 1) Tanto o $_GET quanto o $_POST possuem o mesmo propósito, que é armazenar os dados vindos de um formulário HTML. Qual a diferença básica entre ambos ??? 2) Desenvolva um formulário HTML, utilizando o método GET, com os seguintes dados: Código do Produto e Descrição do produto. Imprima estes dados na tela utilizando o PHP, concatenando os textos CÓDIGO DO PRODUTO e DESCRIÇÃO DO PRODUTO. Retirado de: www.simplesphp.net Agradecimento: (Prof. Rosane Faculdades Simonsen.) COMANDO DE FLUXO IF Sempre que for necessária a tomada de decisão dentro de um programa, você terá que utilizar um comando condicional, pois é por meio dele que o PHP decidirá que lógica deverá seguir (por exemplo, se salário maior que 1000, então aumento = 10%, senão aumento = 15%). Existem dois comandos condicionais: if e switch. Ambos fazem basicamente a mesma coisa; executam um conjunto de instruções conforme parâmetros de decisão. Na utilização de uma condicional if ou switch, utilizamos sempre um operador condicional. Operadores condicionais executam testes entre o conteúdo de uma variável e outra variável ou literal. Por exemplo, Salário é maior do que 1000, Desconto é igual a 10%, preço é menor que 4. Os operadores condicionais retornam invariavelmente os operadores booleanos TRUE ou FALSE (verdadeiro ou falso). Operador Descrição Oper1 == oper2 Verdadeiro se oper1 for igual a oper2 Oper1 != oper2 Verdadeiro se oper1 for diferente de oper2 Oper1 <> oper2 Outra forma aceita para diferente Oper1 > oper2 Verdadeiro de oper1 for maior que oper2 Oper1 >= oper2 Verdadeiro se oper1 for maior ou igual que oper2 Oper1 < oper2 Verdadeiro se oper1 for menor que oper2 Oper1 <= oper2 Verdadeiro se oper1 for menor ou igual que oper2 IF, ELSE, ELSEIF Comando utilizado para executar um conjunto de instruções, caso a expressão avaliada seja verdadeira. No algoritmo, seria se, senão, senão se. Sua sintaxe básica é: if( EXPRESSAO1 ) { comandos 1 }elseif( EXPRESSAO2 ) { comandos 2 } else { comandos 3 } Vamos ver alguns exemplos utilizando a estrutura if Exemplo SALÁRIO Uma variável chamada $salario receberá como valor de 1500.00. Em uma condicional, caso a variável $salario seja maior ou igual a 1500.00, a mensagem que aparecerá será Bom salário. Senão, aparecerá a mensagem Salário baixo. <?php $salario = 1500.00; if ($salario >= 1500.00) { echo ”Bom salário : $salario<br>”; } else { echo “Salário baixo $salario<br>”; } ?> Exemplo controle de estoque Agora, vamos montar um formulário em HTML que irá receber a quantidade em estoque de um produto qualquer. Dependendo da quantidade que será digitada, através da condicional IF será impresso na tela uma mensagem diferente. EXEMPLO: CONTROLE DE ESTOQUE <BR><BR> <form method="get"> Quantidade em estoque: <input type="text" name="quantidade" size="20"><br> <input type="submit" name="submit" value="Clique"> </form> <?php $estoque = $_GET["quantidade"]; if($estoque>80) echo "O estoque está muito alto"; elseif($estoque>50) echo "O estoque está acima da média"; elseif($estoque>20) echo "O estoque está em níveis normais"; else echo "O estoque está abaixo do mínimo"; ?> Quando existe apenas uma instrução a executar, o uso das chaves é opcional. Mas no caso de um conjunto de comandos, é obrigatório o seu uso; caso contrário, o PHP executará de forma errada. Exemplo somando dois valores (usando operadores matemáticos) OPERADORES ARITMÉTICOS Operador Função Exemplo + * / % Soma $a + $b, 5 + 4, $salario + $bonus + 100 Subtração $a - $b, $salario - $desconto - $impostos Multiplicação $salario * 1.15, $a * $b, $c * $d * 15 Divisão $a / $b, $b / 5, 15 / 3 Módulo $a % $b (resto da divisão de $a por $b) <form method="post"> SOMANDO SALÁRIO E BENEFÍCIOS <BR><BR> Salário: <input type="text" name="salario" size="15"><br> Benefícios: <input type="text" name="beneficios" size="15"><br> <input type="submit" name="submit" value="Clique"> </form> <?php $salario = $_POST["salario"]; $beneficio = $_POST["beneficio"]; $total = $salario + $beneficio; echo “VALOR TOTAL $total”; ?> Exemplo controle de horário acadêmico (usando operador lógico) OPERADORES LÓGICOS Exemplo Nome Resultado $a and $b E Verdadeiro (TRUE) se tanto $a quanto $b são verdadeiros. $a or $b OU Verdadeiro se $a ou $b são verdadeiros. $a xor $b XOU Verdadeiro se $a ou $b são verdadeiros, mas não ambos. ! $a NÃO Verdadeiro se $a não é verdadeiro. $a && $b E Verdadeiro se tanto $a quanto $b são verdadeiros. $a || $b OU Verdadeiro se $a ou $b são verdadeiros. <form method="get"> CONTROLE DE HORÁRIO ACADÊMICO <BR><BR> Horário: <input type="text" name="horario" size="5">(Siga o formato: 08:00)<br> <input type="submit" name="submit" value="Clique"> </form> <?php $hora =$_GET["horario"]; if($hora=="08:00" or $hora=="10:00") { echo "$hora = Horário do turno da manhã"; } elseif($hora=="14:00" or $hora=="16:00") { echo "$hora = Horário do turno da tarde"; } elseif($hora=="18:00" or $hora=="20:00") { echo "$hora = Horário do turno da noite"; } else { echo “$hora >>>>> este horário não está disponível” } ?> EXERCÍCIOS 1) Faça um programa em html que teste, através da estrutura condicional If a variável $idade, que irá armazenar a variável de uma pessoa. As mensagens que deverão ser mostradas deverão ser as seguintes: Se $idade >= 18 anos então Maior de idade, não precisa de responsável, Senão então Menor de idade, somente com a presença do responsável Sites de apoio: Manual do PHP : http://www.php.net/manual/pt_BR/ Retirado de: www.simplesphp.net TRABALHANDO PHP COM HTML Iremos conhecer mais sobre HTML. Estamos trabalhando o HTML de forma bem simples, somente para criarmos os formulários para interagir com o usuario. Segue abaixo as tags mais utilizadas, juntamente com as que já vimos: <HTML> </HTML> Delimita o documento (início e fim). Esta marcação deve ser inserida imediatamente no início e no final de todo arquivo HTML. <FORM NAME=”MEU_FORM” METHOD="POST" ACTION="xxxxx"> </FORM> *** Marcações de campos de entrada e HTML em geral <HEAD> </HEAD> Cabeçalho. É uma área para inserção de informações que não serão visíveis na página HTML, tais como "TITLE" e comentários. <TITLE> </TITLE> Título do documento. Todo documento WWW deve ter um título. É sugerido que os títulos dos documentos sejam sugestivos, este título é referenciado em buscas pela rede. O título aparece na identificação da janela do Browser. <BODY> </BODY> É o corpo do documento. O que fica entre as tags <HTML> </HTML> é a sua página. O que fica entre <BODY> e </BODY> é o corpo de sua página, o que aparecerá na tela do browser. <HEAD> e </HEAD> são colocadas informações referentes a página, como um cabeçalho. E, entre <TITLE> </TITLE> deve ficar o título da homepage (que aparecerá na Barra de título do browser e não no corpo da página). Outros comandos: <P> </P> Parágrafo novo. Ex.: <p align=”left”>texto1</p> <p align=”center”>texto2</p> <p align=”right”>texto3</p> <BR> Quebra de linha. Ou linha em branco. Não necessita de tag de fechamento. <TABLE> </TABLE> Cria uma tabela. Entre eles, devem ser especificadas as tags responsáveis pela criação das linhas e células, títulos, bordas e alinhamento da tabela. Como padrão, uma tabela é criada sem borda, ou seja, não aparecem as linhas horizontais e verticais que separam as células. <TR> </TR> Abreviação de Table Row. Essas tags são usadas para criar uma linha da tabela. Se uma tabela tiver cinco linhas, deverão ser indicados cinco pares desses comandos. <TD> </TD> Abreviação de Table Data. As tags TD são usadas para especificar o conteúdo de uma célula. Esses comandos são usados em pares para cada célula da linha. Devem ser usados entre os comandos <tr> </tr>. Ao contrário das planilhas, uma tabela não precisa ter todas as linhas com mesmo número de células. A largura de uma coluna é definida pela largura da maior célula que faz parte da coluna. O conteúdo de uma célula é alinhado pela opção Align. <TD><FONT COLOR=”?” FACE=”?” SIZE=”?”><B>TEXTO</B>/FONT></TD> - Formata o texto dentro de cada célula de uma tabela. EXEMPLO DE UMA TELA EM HTML UTILIZANDO TAG TABLE <html> <body> <form method="get"> <table border="1" cellspacing="0"> <tr> <td>UF</td> <td> <input name="uf" type="text" size="2"> </td> </tr> <tr> <td>Estado</td> <td> <input name="estado" type="text" size="20"></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="gravar" value="Gravar"> </td> </tr> </table> </body> </html> Vamos acrescentar um script em PHP neste formulário. Se os campos UF ou ESTADO estiverem vazios, mostrar a mensagem “CAMPO(S) OBRIGATÓRIO(S)”, em vermelho, e se forem preenchidos, mostrados os dados na tela. <?php if ($_GET) { // A mensagem só irá aparecer após clicar no botão submit if ( empty($_GET["uf"]) OR empty($_GET["estado"]) ) { echo "<p align=”center”><font color=red>CAMPO(S) OBRIGATÓRIO(S)</font></p>"; } else { $uf=$_GET["uf"]; $estado=$_GET["estado"]; echo "<p> UF : $uf </p>"; echo "<p> ESTADO : $estado </p>"; } } ?> EXERCÍCIOS 1) Baseado no exemplo acima, faça uma tela em HTML com os seguintes dados: Nome, Endereço, Telefone. Caso um dos campos não for preenchido, mostrar a mensagem “CAMPO(S) OBRIGATÓRIO(S)”, senão, imprima o resultado do formulário na tela, utilizando PHP. Organize os dados dentro de uma tabela e/outras tags HTML. Sites de apoio: Manual do PHP : http://www.php.net/manual/pt_BR/ Retirado de: www.simplesphp.net TRABALHANDO PHP COM HTML CONTINUAÇÃO Ficou claro que com o PHP não podemos montar layouts. Podemos sim, ter como forma de interação com o usuário, o HTML, para criarmos nossas telas. Hoje o exercício será o seguinte, onde utilizaremos mais recursos de layout: Montar uma tela de login de um sistema. A tela deverá conter 2 inputs: um chamado login e outro chamado senha. Deverá ter um botão de confirma. E também um layout utilizando cores e uma imagem que tenha relação com login e senha. O layout da tela teria que ficar mais ou menos assim : Sempre que imaginamos uma tela de um sistema devemos pensar na figura do usuário. Em um sistema, nunca poderemos utilizar cores berrantes ou muitas imagens que poluam a tela. O ideal é utilizarmos cores suaves e no caso de utilizar uma imagem, colocar de forma que não atrapalhe e visualização das informações. Vamos implementar o código em PHP, seguindo os seguintes critérios: 1 – Ao digitar no formulário o login e a senha, e clicar no botão confirma, deveremos criticar se ambos são válidos, através de uma função. Caso o login seja válido, mostrar a mensagem “Login válido”, senão “Login inválido” Caso a senha seja válida, mostrar a mensagem “Senha válida”, senão, “Senha inválida” Caso tanto o login quanto a senha forem válidas, direcionar para outra página (no caso vejam uma tela de vocês que já esteja pronta. Logo no início da tela, deverá aparecer o dia e a hora de acesso. Para isso também faremos uma função. Primeiro vamos criar as três funções, uma para validar o login e outra para validar a senha e outra para retornar o dia e a hora. Vamos continuar a nossa biblioteca funcoes.php <?php function validalogin($login) { // Função para validar o login if (strtolower($login) <> "rosane") { echo "<font color=red><b>LOGIN INVÁLIDO</b></font><BR>"; return false; } echo "<font color=green><b>LOGIN VÁLIDO</b></font><BR>"; return true; } function validasenha($senha) { // Função para validar senha if (strtolower($senha) <> "php") { echo "<font color=red><b>SENHA INVÁLIDA<BR>SEU ACESSO AO SISTEMA FOI BLOQUEADO<BR><a href="login.php">Clique aqui para voltar</a></b></font><BR>"; return false; } echo "<font color=green><b>SENHA VÁLIDA<BR>SEU ACESSO AO SISTEMA SERÁ LIBERADO!</b></font><BR>"; return true; } function datahora() { $data = date("d/m/Y",time()); $hora = date("H:i",time()); return $data." ".$hora; } ?> No exemplo de validação do login e senha, estamos “forçando” a crítica manualmente. No futuros veremos esta mesma validação utilizando banco de dados. Agora vamos implementar o nosso layout e o nosso código em PHP para executar as funções. Neste layout teremos uma imagem no final da tela, como exemplificado na página 1. <?php // executando a include onde está a nossa biblioteca de funções include "funcoes.php"; ?> <HTML> <BODY> <? if (@$Confirma == "Confirma") { @$validarlogin = validalogin($login); // chamando a função para validar o login if (@$validarlogin) { @$validarsenha = validasenha($senha); // chamando a função para validar o login if (!@$validarsenha) { exit; } else { // Abaixo, está direcionando para outra página após a validação echo "<meta http-equiv="refresh" content="1;url=menu.php">"; } } else { exit; // Para o processamento } } ?> <form method="GET"> <div align="center"> <table width="47%" border="0" cellspacing="0"> <tr bgcolor="#6699CC"> <td colspan="2" align="center"><strong><font color="#000000" face="Trebuchet MS"><b>TELA DE LOGIN</b></font></strong></td> </tr> <tr bgcolor="#6699CC"> <td colspan="2" align="right"><strong><font color="#666666" size="2" face="Trebuchet MS">DATA E HORA DE ACESSO :<?php echo datahora(); ? ></font></strong></td> </tr> <tr bgcolor="#6699CC"> <td colspan="2"> </td> </tr> <tr bgcolor="#6699CC"> <td colspan="2" align="center"><font size="3" face="Trebuchet MS">Identificação do usuário</font></td> </tr> <tr> <td align="right"><font color="#666666" size="2" face="Trebuchet MS">Por favor, insira seu login e senha</font></td> <td> </td> </tr> <tr> <td width="44%" align="right"><font color="#000000" size="2" face="Trebuchet MS"><b>Login</b></font></td> <td width="56%"><font color="#000000" size="2" face="Trebuchet MS"><input type="text" size="20" name="login"></font></td> </tr> <tr> <td><div align="right"><font color="#000000" size="2" face="Trebuchet MS"><b>Senha</b></font></div></td> <td><font color="#000000" size="2" face="Trebuchet MS"><input type="password" size="20" name="senha"></font></td> </tr> </table> <br> <table width="588" border="0" cellspacing="1" cellpadding="1"> <tr> <td bgcolor="#6699CC" align="center"> <input type="submit" value="Confirma" name="Confirma"> </td> </tr> </table> <br> <div><img src="login.jpg"></div> </div> </form> </BODY> </HTML> Variáveis e URL : Quando o usuário clica no botão Confirma, na verdade está submetendo o formulário, e a página é reprocessada. É nesse momento que o conteúdo digitado pelo usuário nos campos textos (inputs) são passados através da url. Você poderá perceber isso olhando para o browser. No PHP podemos criticar o conteúdo do botão submit cujo nome é Confirma; para isso precisamo do $_GET para “pegarmos” o conteúdo digitado no campo texto. Isso é determinado pela instrução name do campo texto (input). O login e a senha digitados dos formulários são “pegos” também pelo $_GET. Criticando os dados : O código está criticando as variáveis $login e $senha. Se a variável $login for igual ao conteúdo "rosane" vai apresentar a mensagem "Login válido", senão, mensagem "Login inválido". O mesmo se dá com a variável $senha.