O documento discute os métodos GET e POST para envio de dados em formulários HTML, como tratar as informações recebidas em PHP, e exemplos de campos como hidden, checkbox, validação e upload de arquivos.
2. 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.
3. 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)
4. 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”];
6. • 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;
?>
7. Exemplo Método GET
<a href=“exemplo2.php?codigo=0231” title=“link”>Clique Aqui</a>
<?php
echo "O valor passado é: " . $_GET[“codigo"];
?>
8. 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.
10. 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.
11. 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...";
}
?>
12. 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>
13. 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>