Processar variáveis de formulários

Este tipo de transferência é de uma grande utilidade pois permite-nos interagir directamente com o usuário.

Este processo é similar ao explicado para as URLs. Em primeiro lugar, apresentamos uma primeira página com o formulário clássico para preencher e as variáveis são recolhidas numa segunda página que as processa:

Nota:  Nem sempre se definem automaticamente as variáveis recebidas por parâmetro nas páginas web, depende de uma variável de configuração de PHP: register_globals, que tem de estar activada para que assim seja. Ver comentários do artigo ao final da página para mais informação.

<HTML>
<HEAD>
<TITLE>formulario.html</TITLE>
</HEAD>
<BODY>
<FORM METHOD=”POST” ACTION=”destino2.php”>
Nome<br>
<INPUT TYPE=”TEXT” NAME=”nome”><br>
Apelidos<br>
<INPUT TYPE=”TEXT” NAME=”apelidos”><br>
<INPUT TYPE=”SUBMIT”>
</FORM>
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>destino2.php</TITLE>
</HEAD>
<BODY>
<?
echo “Variável $nome: $nome <br>n”;
echo “Variável $apelidos: $apelidos <br>n”
?>
</BODY>
</HTML>

$_POST

Relembramos que é possível compilar numa só variável tipo array o conjunto de variáveis que foram enviadas ao script por este método a partir da variável de sistema $_POST:

echo “Variável $nome: ” . $_POST[“nome”] . “<br>n”;

Nota: Ainda que possamos recolher variáveis com este array associativo ou utilizar diretamente as variáveis que se definem na nossa página, torna-se mais seguro utilizar $_POST por duas razões, a primeira é que assim temos a certeza que essa variável vem realmente de um formulário e a segunda, que assim o nosso código será menos confuso quando queiramos lê-lo, porque ficará especificado que estamos a receber essa variável através de um formulário.

Exemplo de restrição de acesso por idade 

Para continuar com exemplos de uso de formulários vamos realizar uma página que mostra e solicita a idade do visitante e, dependendo da sua idade, permite ou não visualizar o conteúdo da web. A maiores de 18 anos é-lhes permitido ver a página e a menores não.

O exemplo é muito simples e não seria correcto para utilizá-lo tal e qual a modo de uma verdadeira barreira de acesso. Só nos serve para saber como obter dados de um formulário e como tratá-los para realizar uma ou outra acção, dependendo do seu valor.

A página do formulário, à qual demos o nome idade.php, teria o seguinte aspecto:

<html>
<head>
<title>Restringir por idade</title>
</head>

<body>

<form action=”idade2.php” method=”post”>
Escreve a tua idade: <input type=”text” name=”idade” size=”2″>
<input type=”submit” value=”Entrar”>
</form>

</body>
</html>

Esta é uma página sem nenhum código PHP, simplesmente tem um formulário. Se repararmos no action do formulário, que está dirigido a uma página chamada idade2.php, que é a que receberá o valor da idade e mostrará um conteúdo ou outro dependendo desse valor. O seu código seria o seguinte:

<html>
<head>
<title>Restringir por idade</title>
</head>

<body>

<?
$idade = $_POST[“idade”];
echo “Tua idade: $idade<p>”;

if ($idade < 18) {
echo “Não podes entrar”;
}else{
echo “Bemvindo”;
}
?>
</body>
</html>

Esperamos que este outro código também não seja estranho. Simplesmente o formulário recebe a idade, utilizando o array $_POST. A seguir, mostra-se a idade e executa-se uma expressão condicional em função de que a idade seja menor que 18. Em caso positivo (idade menor que 18), mostra-se uma mensagem que informa que não se pode aceder à página. Em caso negativo (maior ou igual a 18) mostra-se uma mensagem de Boas-vindas.

Fonte: http://www.criarweb.com/artigos/96.php

Deixe um comentário