Uma das características mais fortes do PHP é o jeito como ele trata formulários HTML. O conceito básico que é importante entender é que qualquer elemento de formulário irá automaticamente ficar disponível para seus scripts PHP. Por favor leia a seção Variáveis externas do PHP para mais informações e exemplos de como usar formulários com PHP. Aqui vai um exemplo de formulário HTML:
Exemplo #1 Um simples formulário HTML
<form action="action.php" method="post"> <label for="name">Your name:</label> <input name="name" id="name" type="text"> <label for="age">Your age:</label> <input name="age" id="age" type="number"> <button type="submit">Submit</button> </form>
Não há nada de especial neste formulário. É um formulário HTML comum sem nenhuma tag especial de qualquer tipo. Quando o usuário preencher este formulário e clicar no botão enviar, a página action.php é chamada. Neste arquivo nós teremos algo como isto:
Exemplo #2 Imprimindo dados de nosso formulário
Hi <?php echo htmlspecialchars($_POST['name']); ?>.
You are <?php echo (int)$_POST['age']; ?> years old.
Um exemplo de saída deste script seria:
Hi Joe. You are 22 years old.
Para além de htmlspecialchars() e
(int)
, deve ser óbvio o que o script faz.
htmlspecialchars() transforma caracteres que sejam
especiais no HTML na sua forma codificada, de forma que não seja possível injetar tags HTML
ou JavaScript em sua página. O campo age (idade), por ser um
número, podemos simplesmente converter
para um int que automaticamente eliminará qualquer
caractere estranho. Você também pode fazer o PHP automaticamente fazer isso
utilizando a extensão filter.
As variáveis $_POST['name'] e $_POST['age']
são criadas automaticamente pelo PHP. Anteriormente
utilizamos a superglobal $_SERVER; acima
mostramos que a superglobal $_POST
contém todos os dados POST. Perceba como o
method (método) do formulário é POST. Se fosse utilizado
o método GET então os dados do formulário acabariam
na superglobal $_GET.
Você também pode utilizar a superglobal $_REQUEST,
se não se importar qual a origem do dado enviado. Ela
conterá os dados mesclados de origens GET, POST e COOKIE.
Você também pode utilizar XForms no PHP, embora se sinta confortável com os formulários HTML clássicos por um bom tempo. Embora trabalhar com XForms não seja para iniciantes, você pode se interessar por eles. Há uma seção com uma rápida introdução sobre manipular dados recebidos de XForms no manual.