quinta-feira, 15 de julho de 2010

PHP com formulário

Este post faz parte da série de programação em PHP.

Vamos fazer uma página de teste em PHP com uma simples contagem da quantidade de vezes que carregamos a página. Não se trata de um contador, pois se fecharmos a página e abrirmos novamente, a contagem volta ao zero. Mas é apenas para mostrar a flexibilidade dos formulários com PHP.

Crie uma página qualquer em PHP e coloque as linhas seguintes:

<html>
<head>
<title>Página de Teste</title>
</head>
<body>
<center><h2>
<?php
$conta=0;
if(isset($_REQUEST[conta])) $conta = $_REQUEST[conta];
echo("<form method=post>");
echo("<input type=submit value=soma>");
$conta++;
echo("$conta<br>);
echo("<input type=hidden name=conta value=$conta>");
echo("</form>");
?>
</h2></center>
</body>
</html>

Explicação do formulário utilizado no exemplo acima. Cria-se a página em PHP com título e corpo. O conteúdo do corpo é centralizado (utilizando o comando html <center> e </center> Depois é inicializado um trecho com programação em PHP.

O primeiro comando em PHP é o de inicializar uma variável chamada $conta, com o valor zero. Segundo comando é para recuperar o valor anterior desta mesma variável, caso tenha sido definido em carregamento anterior do formulário descrito abaixo. Para isso, é testado se existe definição da variável $_REQUEST[conta], caso positivo, seu valor é colocado na variável $conta. $_REQUEST é o nome do arranjo(array) com todas as variáveis definidas no formulário que chamou esta página.

O formulário tem um botão de submissão (submit), e um campo escondido (hidden) contendo o valor de $conta incrementado (adicionado) de um. Também ecoa o valor incrementado de $conta. Portanto na primeira vez que a página é carregada, o $conta começa em zero, e é incrementado por um antes de ser ecoado ao navegador do usuário. A cada vez que o formulário é submetido, o valor anterior é recuperado, incrementado por um e ecoado novamente. Um contador de quantas vezes o formulário foi carregado. Só não serve para contador de páginas, pois toda vez que é carregado no navegador, começa novamente no zero.

Nenhum comentário:

Postar um comentário