PHP - AULA 4 Utilizando a hora do sistema (data.php) <?php $meses = array ("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"); $dia = date ("d", time( )); $mes = date ("m", time( )); $ano = date ("Y", time( )); echo $dia . " de " . $meses [$mes-1] . " de " . $ano; ?> Formulários em HTML O comando input possui as seguintes opções: Opção Descrição name Informa qual é o nome do campo value Informa um valor padrão para o campo size Informa o tamanho do campo exibido na tela maxlenght Informa o número máximo de caracteres que pode ser digitado no campo type Informa qual é o tipo do campo de entrada de dados Os valores possíveis para a opção type do input são: Valor Descrição text Mostra uma caixa de texto de uma linha, e permite a entrada de valores numéricos ou alfanuméricos password Utilizado para a digitação de senhas. São mostrados asteriscos (*) no lugar dos caracteres digitados, mas a informação é enviada normalmente hidden É um campo escondido. Não aparece na tela. Podemos utilizá-lo para passar informações aos programas que recebem os dados select Mostra uma lista de seleção checkbox Exibe uma caixa de seleção, que pode ser marcada ou desmarcada radio São botões de seleção, em que o usuário escolhe uma entre várias opções disponíveis textarea Caixa de texto com várias linhas file Permite o envio de arquivos submit Botão que aciona o envio dos dados do formulário image Tem a mesma função do submit, mas utiliza uma imagem em vez do botão tradicional do formulário reset Limpa todos os campos de um formulário e retorna ao valor-padrão (se existir) Um formulário de entrada de dados em HTML... (form1.html) <form method="POST" action="recebe_dados.php"> <div align="center"><center> <p>Username: <input type="text" name="username" size="10"> Senha: <input type="password" name="senha" size="10"></p> </center></div> <div align="center"><center> <p>Nome: <input type="text" name="nome" size="20"></p> </center></div> <div align="center"><center> <p>E-mail: <input type="text" name="email" size="20"></p> </center></div> <div align="center"><center> <p>Cidade: <input type="text" name="cidade" size="20"> Estado: <input type="text" name="estado" size="2" maxlength="2"></p> </center></div> <div align="center"><center> <p><input type="submit" value="Enviar" name="enviar"></p> </center></div> </form> ...e seu tratamento em PHP (recebe_dados.php) <html> <title>Formulários com PHP</title> <body> <?php $username = $_POST["username"]; $senha = $_POST["senha"]; $nome = $_POST["nome"]; $email = $_POST["email"]; $cidade = $_POST["cidade"]; $estado = $_POST["estado"]; $erro=0; if (strlen($username)<5){ echo "O username deve possui no mánimo 5 caracteres.<br>"; $erro=1; } if (strlen($senha)<5){ echo "A senha deve possui no mínimo 5 caracteres.<br>"; $erro=1; } if ($username == $senha){ echo "O username e a senha devem ser diferentes.<br>"; $erro=1; } if (empty($nome) OR strstr ($nome, ' ')==FALSE){ echo "Favor digitar seu nome corretamente.<br>"; $erro=1; } if (strlen($email)<8 || strstr ($email, '@')==FALSE){ echo "Favor digitar seu e-mail corretamente.<br>"; $erro=1; } if (empty($cidade)){ echo "Favor digitar sua cidade.<br>"; $erro=1; } if (strlen($estado)!=2){ echo "Favor digitar seu estado corretamente.<br>"; $erro=1; } // VERIFICA SE NÃO HOUVE ERRO if($erro==0){ echo "Todos os dados foram digitados corretamente!"; } ?> </body> </html> Método GET Esse é o método padrão para o envio de dados. Se no momento da criação de um formulário nenhum método for especificado na opção method da tag form, estaremos utilizando o método GET para o envio de dados. Nesse método, os dados serão enviados juntamente com o nome da página (na URL) que processará os dados recebidos. Este método tem o inconveniente do limite de caracteres que podem ser enviados (em torno de 2000 caracteres). Outro problema é que o usuário enxergará todos os parâmetros por meio da barra de endereços do browser. Dividindo a entrada de dados 1 => cabecalho.php <? $data = date("d/m/Y", time()) ; ?> <table width="100%" border="0" cellspacing="0"> <tr bgcolor="#FFFF99"> <td><font color="#000000"> <p> </p> </font></td> <td><font color="#000000"> <p> </p> </font></td> <td><font color="#000000"> <p> </p> </font></td> </tr> <tr bgcolor="#FFFF99"> <td> <div align="center"> <font size="4"><b> <font face="Geneva, Arial, Helvetica, san-serif" color="#000000"> Exemplo 2 </font> </b></font></div> </td> <td> <div align="center"> <font size="4"><b> <font face="Geneva, Arial, Helvetica, san-serif" color="#000000"> PHP e Formulários </font> </b></font></div> </td> <td> <div align="center"> <font size="4"><b> <font face="Geneva, Arial, Helvetica, san-serif" color="#000000"> Data : <? echo $data ; ?> </font> </b></font></div> </td> </tr> <tr bgcolor="#FFFF99"> <td><font color="#000000"> <p> </p> </font></td> <td><font color="#000000"> <p> </p> </font></td> <td><font color="#000000"> <p> </p> </font></td> </tr> </table> Dividindo a entrada de dados 2 => dados.php <html> <head> <title>Exemplo1 - Formulários</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <? include "cabecalho.php" ; ?> <table width="100%" border="0" cellspacing="0"> <tr> <td> <form name="form1" method="post" action="resposta.php"> <table width="100%" border="0" cellspacing="0"> <tr> <td width="9%" bgcolor="#3333FF"> </td> <td width="91%" bgcolor="#FFFFCC"> </td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> Nome </font></b></td> <td width="91%" bgcolor="#FFFFCC"> <font color="#000000"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="text" name="txnome" maxlength="50" size="40"> </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><font color="#FFFFFF"></font></td> <td width="91%" bgcolor="#FFFFCC"><font color="#000000"></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> Sexo </font></b></td> <td width="91%" bgcolor="#FFFFCC"> <font color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <select name="lssexo"> <option value="Masculino">Masculino</option> <option value="Feminino">Feminino</option> </select> </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><font color="#FFFFFF"></font></td> <td width="91%" bgcolor="#FFFFCC"><font color="#000000"></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> Filhos </font></b></td> <td width="91%" bgcolor="#FFFFCC"> <font color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="radio" name="rbfilhos" value="Sim"> Sim <input type="radio" name="rbfilhos" value="Não" checked> Não </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><font color="#FFFFFF"></font></td> <td width="91%" bgcolor="#FFFFCC"><font color="#000000"></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> Hábitos </font></b></td> <td width="91%" bgcolor="#FFFFCC"> <font color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="checkbox" name="cbbebe" value="Bebe"> Bebe <input type="checkbox" name="cbfuma" value="Fuma"> Fuma </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#3333FF"><font color="#FFFFFF"> </font></td> <td width="91%" bgcolor="#FFFFCC"><font color="#CCCCCC"> </font></td> </tr> <tr> <td width="9%"> </td> <td width="91%"> </td> </tr> <tr> <td width="9%"><font color="#000000"></font></td> <td width="91%"> <input type="submit" name="Submit" value="Enviar"> </td> </tr> </table> </form> </td> </tr> </table> <p> </p> </body> </html> Dividindo a entrada de dados 3 => resposta.php <html> <head> <title>Exemplo2 - Formulários</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <? $nome = $_POST['txnome'] ; $sexo = $_POST['lssexo'] ; $filho= $_POST['rbfilhos'] ; $bebe = $_POST['cbbebe'] ; $fuma = $_POST['cbfuma'] ; include "cabecalho.php" ; ?> <table width="100%" border="0" cellspacing="0"> <tr> <td> <table width="100%" border="0" cellspacing="0"> <tr> <td bgcolor="#FFFFCC"> </td> </tr> <tr> <td bgcolor="#FFFFCC"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b> Confira abaixo os dados que você digitou : </b></font></td> </tr> <tr> <td bgcolor="#FFFFCC"> </td> </tr> <tr> <td> <table width="100%" border="0" cellspacing="0"> <tr bgcolor="#FFFFCC"> <td width="18%"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Seu nome </font></b></td> <td width="82%"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <? if ($nome!='') { echo $nome ; } else { echo "Você não preencheu seu nome !" ; } ?> </font></b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"><b> </b></td> <td width="82%"><b> </b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Seu sexo </font></b></td> <td width="82%"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <? echo $sexo ; ?> </font></b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"><b> </b></td> <td width="82%"><b> </b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Possui filhos ? </font></b></td> <td width="82%"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <? echo $filho ; ?> </font></b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"><b> </b></td> <td width="82%"><b> </b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Hábitos </font></b></td> <td width="82%"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <? if (($bebe) and ($fuma)) { echo "Você bebe e fuma" ; } elseif ((! $bebe) and ($fuma)) { echo "Você fuma" ; } elseif (($bebe) and (! $fuma)) { echo "Você bebe" ; } elseif ((! $bebe) and (! $fuma)) { echo "Você não bebe e nem fuma" ; } ?> </font></b></td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"> </td> <td width="82%"> </td> </tr> <tr bgcolor="#FFFFCC"> <td width="18%"> </td> <td width="82%"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b> <a href="dados.php">Retorna</a></b></font></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <p> </p> </body> </html> Um formulário HTML com vários tipos de campos (form2.html) <HTML> <BODY> <form action="processa.php" method="POST"> <p><strong>O que você achou do site?</strong> <dl><dd> <input type="radio" name="avaliacao" value="muitobom" checked>Muito Bom <input type="radio" name="avaliacao" value="bom">Bom <input type="radio" name="avaliacao" value="regular">Regular <input type="radio" name="avaliacao" value="umlixo">Um Lixo </dd> </dl> <p><strong>Qual a seção que você mais gostou?</strong> <dl><dd> <select name="secao" size="1"> <option value="emcartaz">Em Cartaz</option> <option value="trilhasonora">Trilha Sonora</option> <option value="fotos">Galeria de Fotos</option> <option value="bilheteria">Bilheteria</option> <option value="outra">Outra</option> </select> Outra: <input type="text" size="26" maxlength="256" name="outra"> </dd></dl> <p><strong>Digite seus comentários no espaço abaixo:</strong> <dl><dd> <textarea name="Comentarios" rows="5" cols="42"></textarea> </dd> </dl> <p><strong>Diga-nos como entrar em contato com você:</strong> <dl><dd><pre> Nome <input type="text" size="35" maxlength="256" name="nome"> E-mail <input type="text" size="35" maxlength="256" name="email"> Fone <input type="text" size="35" maxlength="256" name="fone"> FAX <input type="text" size="35" maxlength="256" name="fax"> </pre></dd> </dl> <dl><dd> <input type="checkbox" name="novidades" value="nov"> Quero receber as novidades do site por e-mail</dd></dl> <p><input type="submit" value="Enviar Dados"> <input type="reset" value="Limpar Formulário"></p> </form> </BODY> </HTML>