Click here to load reader
Upload
sergiohenrique
View
1.182
Download
0
Embed Size (px)
Citation preview
Aula 5 PHP
PHP e Formulários HTML
Método GET
• É o método padrão para envio de dados.
• Todos os parâmetros são visíveis na barra de endereço do browser.
• Possui limite de caracteres que podem ser enviados (em torno de 2.000 caracteres).
• Pode ser utilizado em links.
Método POST
• Variáveis são transmitidas de forma que o usuário não pode visualizar.
• Não há limite de caracteres.• Podemos enviar outros tipos de dados
que não podem ser enviados pelo método GET, como, por exemplo, imagens ou outros arquivos (para isso utilizamos o valor file na opção type da tag input do HTML)
Como tratar as informações recebidas
• Utilizar variaveis superglobais predefinidos pelo PHP:
$_GET para o método GET
$_POST para o método POST
Exemplo:
$nome = $_POST[“nome”];
Processo de Formulários
• Exemplo Método POST
<form action="script.php" method="post"> Campo 1: <input type=“text” name=“campo1”>Campo 2: <input type=“text” name=“campo2”><input type=submit value="OK">
</form>
<?php echo "O valor de CAMPO 1: " . $_POST["campo1"]. “<br>”; $exibir = $_POST["campo2"]; echo “campo2: “.$exibir;?>
Exemplo Método GET<a href=“exemplo2.php?codigo=0231” title=“link”>Clique Aqui</a>
<?php
echo "O valor passado é: " . $_GET[“codigo"];
?>
Campos Hidden
• Os campos hidden são usados para passar informações que não podem ser alteradas pelo usuário que estará inserindo informações no formulário. Por exemplo: você tem um site com sistema de login e o usuário quer alterar as informações de login dele. O script que irá manipular esse formulário, precisa saber o ID do usuário para poder alterar as informações no banco de dados, então esse ID é um campo hidden.
Exemplo
<form action="texts.php" method="post“ />
Nome: <input type=“text” name=“nome” /><br>
Email: <input type=“text” name=“email” /><br>
Mensagem: <textarea name=“mensagem” cols=“8” rows=“3”></textarea><br>
<input type=“submit” />
<input type=“hidden” name=“escondido1” value=“<?php echo $alguma_variavel; ?>">
<input type=“hidden” name=“escondido2” value="<?php echo $outra_variavel; ?>">
</form>
Campos Checkbox
• O tipo Checkbox tem somente um possível valor por entrada: on value (marcado) ou no value (desmarcado). No script você deve fazer a verificação para saber se o campo foi marcado ou não.
• É possível também utilizar grupos de checkbox com o mesmo nome. Para isso você deve adicionar "[]" no final do nome, para o PHP interpretar como array.
Exemplo<form action="checkbox.php" method="post"> <input type=“checkbox” name="numeros[]" value=“90”> 90<br><input type=“checkbox” name="numeros[]" value=“50”> 50<br> <input type=“checkbox” name="numeros[]" value=“30”> 30<br><input type=“checkbox” name="numeros[]" value=“15”> 15<br><input type=“checkbox” name="news" value=1><B>Receber Newsletter?</B><br><input type=“submit”> </form>
<?php // Verifica se usuário escolheu algum número if(isset($_POST["numeros"])) { echo "Os números de sua preferência são:<BR>"; // Faz loop pelo array dos numeros foreach($_POST["numeros"] as $numero) { echo "- " . $numero . "<BR>"; } } else { echo "Você não escolheu número preferido!<br>"; } // Verifica se usuário quer receber newsletter if(isset($_POST["news"])) { echo "Você deseja receber as novidades por email!"; } else { echo "Você não quer receber novidades por email..."; } ?>
Validação de formulários em PHP<html> <head> <title>Validação preenchimento de campo</title> </head> <body> <?php if ($submit) { // verifica se $nome 'ou' $sobrenome são nulos if (!$nome || !$sobrenome) { $error = "Favor preencher todos os campos!"; } else { // processar formulário echo "Obrigado!"; } } if (!$submit || $error) { echo $error; ?>
<form method="post" action=“<?php echo $PHP_SELF; ?>"> CAMPO 1 : <input type="text" name="nome" value="<?php echo $nome ?>"><br> CAMPO 2 : <input type="text" name="sobrenome" value="<?php echo $sobrenome ?>"><br> <input type="Submit" name="submit" value="Enviar Dados"> </form> <?php } // end if ?> </body> </html>
Formulário de Upload<form action=“upar.php" method="post" enctype="multipart/form-data">
<b>Campo de tipo texto:</b> <br> <input type="text" name="cadeiatexto" size="20" maxlength="100"> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <br> <br> <b>Enviar um novo ficheiro: </b> <br> <input name="userfile" type="file"> <br> <input type="submit" value="Enviar"></form>