|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Autochamada de páginasPáginas que se chamam a si mesmas passando dados por POST ou GET: formulários reentrantes e variáveis passadas pela URL à mesma página. Ao incluir um formulário numa página deve-se indicar, através do atributo action, o nome do ficheiro PHP ao que enviaremos os dados escritos no formulário. Desta maneira, para um esquema de envio de dados por formulário, podem participar duas páginas: uma que contém o formulário e outra que recebe os dados de dito formulário.
O mesmo acontece quando enviamos variáveis pela URL. Temos uma página que conterá o link e outra página que receberá e tratará esses dados para mostrar uns resultados. Neste artigo vamos ver como se pode enviar e receber dados de um formulário com uma única página. Também veremos como na mesma página podemos ter links com passagem de variáveis pela URL e podemos recolher e tratar esses dados com a mesma página. A este efeito podemos chamar-lhe "autochamada de páginas", mas também é normal dar-lhe o nome de "formulários reentrantes" ou términos similares. É muito interessante conhecer o modo de funcionamento destes scripts, porque serão muito habituais nas nossas páginas PHP e ajudam muito a ter os códigos ordenados. Em ambos casos, para formulários o envio de dados pela URL, deve-se seguir um esquema como este:
Vejamos a continuação como seria o código de um formulário reentrante. <html> <head> <title>Chamo-me a mim mesmo...</title> </head> <body> <? if (!$_POST){ ?> <form action="auto-chamada.php" method="post"> Nome: <input type="text" name="nome" size="30"> <br> Empresa: <input type="text" name="empresa" size="30"> <br> Telefone: <input type="text" name="telefone" size=14 value="+351 " > <br> <input type="submit" value="Enviar"> </form> <? }else{ echo "<br>Seu nome: " . $_POST["nome"]; echo "<br>Sua empresa: " . $_POST["empresa"]; echo "<br>Seu Telefone: " . $_POST["telefone"]; } ?> </body> </html> No exemplo, o primeiro passo é conhecer se se estão a receber ou não os dados através de um formulário. Pra isso comprova-se com um enunciado if se existe ou não uma variável $_POST. Em concreto if (!$_POST) quer dizer algo assim como "Se não existem dados provenientes de um formulário". No caso de que não existam, mostro o formulário. Em caso de que efetivamente existam, recolho os dados e imprimo-os na página. Pode-se ver o exemplo em funcionamento noutra página. Para passagem de variáveis pela URL A idéia é a mesma. Verificar com um enunciado if se os dados são recebidos desde uma URL. Vejamos o código a continuação. Trata-se de uma página que mostra uma serie de links para ver as tabuadas do 1 ao 10. Cada um dos links mostra uma tabuada. Pressionando o primeiro link podemos ver a tabuada do 1, no segundo a tabuada do 2, etc. Recordemos que a página chama-se a si mesma. Para compreende-la mais facilmente é interessante ve-la em funcionamento. <html> <head> <title>Tabuadas</title> </head> <body> <? if (!$_GET){ for ($i=1;$i<=10;$i++){ echo "<br><a href='ver_tabuada.php?tabuada=$i'>Ver a tabuada do $i</a>\n"; } } else { $tabuada=$_GET["tabuada"]; ?> <table align=center border=1 cellpadding="1"> <? for ($i=0;$i<=10;$i++){ echo "<tr><td>$tabuada X $i</td><td>=</td><td>" . $tabuada * $i . "</td></tr>\n"; } ?> </table> <? } ?> </body> </html> Este código é um pouco mais complicado, porque faz bastantes mais coisas que o anterior, mas para o assunto que nos preocupa que é a autochamada de páginas, tudo continua igual de simples. Temos de reparar que o if verifica se recebemos dados pela URL: if (¡$_GET), que quer dizer algo como "Se não se recebem variáveis pela URL". Em caso positivo (não se recebem dados pela URL) mostram-se os links para ver cada uma das tabuadas e em caso de receber dados, mostra-se a tabuada do número que se está a receber na URL. Para mostrar os links e as tabuadas utilizam-se loops for, que esperamos que não resultem desconhecidos para o leitor. Pode ficar-se a conhecer mais sobre loops for em Controlo de fluxo em PHP: Loops II.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada + 1 Comentário sem rever
Manuais relacionados com este artigo Dentro de Programação em PHP Seguinte: Utilização de cookies Anterior: Processar variáveis de formulários Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em PHPComentário sem rever
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |