PHP e Formulários
Web
Definindo Funções e integração
HTML-PHP
PHP é muito limitado se não usado junto com
uma linguagem script estática.
Um importante conceito da integração é que
se o desenvolvedor criar uma página com os
comandos em HTML e salvá-la como se
fosse um arquivo em PHP, o servido irá
interpretá-la como um arquivo HTML.
Definindo Funções e integração
HTML-PHP
O código em HTML não pode estar entre as
tags que abre e fecha um código PHP. Deste
modo, para incluir um código HTML dentro de
um arquivo PHP, é necessário fechar a tag do
PHP.
Assim, pode-se alternar entre um script HTML e
um script PHP.
Para criarmos um código em HTML
embutido no PHP deve-se coloca-lo como uma
string.
<?php
echo "<center> Data: ";
echo "<select name = 'data'>";
for ($i=1; $i<= 31; $i++)
echo "<option value= '$i'> $i de janeiro de
2006 </option>";
echo "</select>";
?>
Utilizando formulários HTML
A principal entrada de dados, para
um script PHP é o uso de formulário
HTML, nele podemos enviar todos os
dados inseridos em algum tipo de
entrada, seja radio, caixa de textos,
caixas de senhas, caixas de seleção.
Utilizando formulários HTML
Ao clicar num botão “Submit” em um formulário
HTML as informações dos campos serão
enviadas ao servidor especificado para que
possa ser produzida uma resposta.
 O PHP recebe esses valores em dois vetores:

]  para o método GET
 $_POST[ ]  para o método POST
 $_GET[
Método Post
O método de envio do formulário é o
POST.
É criado um array associativo $POST, que
recebe os dados que vieram do formulário.
No formulário, em cada input usamos o
atributo name para identificar um nome distinto.
Este nome é o que identificamos no arquivo
recebe.php como posição do $vetor chamado
$_POST.
Suponha o seguinte formulário:
<form method = POST action=“ “>
Nome:
<input type= "text" name=“nome" value=""><br>
Endereço: <input type= "text" name=“end" value=""><br>
Cidade: <input type= "text" name=“cidade" value=""><br>
Estado: <input type= "text" name=“uf"
value=""><br>
<input type = "submit" name= "sub" value = Enviar!">
Teremos o seguinte vetor $_POST como
resultado:
$_POST[nome]
$_POST[end]
$_POST[cidade]
$_POST[uf]
Cada elemento do vetor terá o conteúdo
digitado no form. Se o método utilizado
fosse GET, seria gerado o vetor $_GET.
texto.html
<html>
<body>
<form method=POST action="texto.php">
Quem é seu ator favorito?
<input type="text" name="ator">
<br><br>
<input type=submit VALUE=ENVIAR>
</form>
</body>
</html>
Salve como texto.php
<?php
$ator = $_POST[“ator”];
echo “Seu ator favorito é:” ,$ator;
?>
Salve como quiz.html
<HTML>
<BODY>
<FORM METHOD=POST ACTION="quiz.php">
Qual a capital de Portugal?
<INPUT NAME="Question1" TYPE="Radio"
VALUE="Porto">Porto
<INPUT NAME="Question1" TYPE="Radio"
VALUE="Lisboa">Lisboa
<INPUT NAME="Question1" TYPE="Radio"
VALUE="Madri">Madri
<INPUT TYPE=SUBMIT value="Enviar">
</FORM>
</BODY></HTML>
Salve como quiz.php
<HTML>
<BODY>
<?php
$Q1=$_POST["Question1"];
if ($Q1=="Lisboa")
echo "Você está correto, Lisboa é a resposta correta";
if ($Q1!="Lisboa")
echo "Você está errado, Lisboa seria a resposta correta";
?>
</BODY>
</HTML>
arquivo: formulario_envio.html
<html>
<head> <title> formulario de envio </title> </head>
<body>
<form name = "form1" action ="recebe.php" method ="POST">
<center> <h3> Formulário de envio </h3>
Nome: <input type="text" name="nome"> <BR><BR>
Escolha um Número:
<select name = "numero">
<option value = "1"> UM </option>
<option value = "2"> DOIS </option>
<option value = "3"> TRES </option>
<option value = "4"> QUATRO </option>
</select>
<BR>
<BR> <input type="submit">
</form>
</body>
</html>
arquivo: formulario_evio.html
Arquivo: recebe.php
<?php
echo " o nome digitado foi ";
echo $_POST["nome"];
echo "<BR> O numero escolhido foi ";
echo $_POST["numero"];
?>
Exercício Resolvido: Faça uma página (html) que
peça 3 valores e calcule a média.
<htlm>
<head> <title> EXercicio </title>
</head>
<body>
<form name = "form1" action = "exerc01.php"
method="POST">
<center> <h3> Formulario de digitação </h3>
Temperatura 1: <input type = "text" name = "temp1"> <br>
Temperatura 2: <input type = "text" name = "temp2"> <br>
Temperatura 3: <input type = "text" name = "temp3"> <br>
<br> <input type = "submit">
</form>
<body>
</html>
Arq: formulario_exerc01.html
<?php
echo "As temperaturas digitadas foram :";
echo $_POST["temp1"]." " .$_POST["temp2"]." " .$_POST["temp3"];
// Calcula a media
$media = $_POST["temp1"] + $_POST["temp2"] + $_POST["temp3"];
printf (" <br> A media é : %4.2f", $media/3);
?>
Arq:exerc01.php
Exercício Resolvido: Faça uma página (html) que peça 3 valores e calcule a média.
<htlm>
<head> <title> EXercicio </title>
</head>
<body>
<form name = "form1" action = "exerc02.php" method="POST">
<center> <h3> Formulario de digitação </h3> </center>
Temperatura 1: <input type = "text" name = "0"> <br>
Temperatura 2: <input type = "text" name = "1"> <br>
Temperatura 3: <input type = "text" name = "2"> <br>
<br> <input type = "submit">
</form>
</body>
</html>
Arq: formulario_exerc02.html
USANDO VETORES
<?php
echo "As temperaturas digitadas foram :";
echo $_POST["0"]." " .$_POST["1"]." " .$_POST["2"];
echo "<br>";
echo "As temperaturas digitadas foram :";
for ($i= 0; $i< sizeof ($_POST); $i++)
echo $_POST ["$i"]." ";
?>
Arq :exerc02.php
Exercício
Utilizando vetores, desenvolva:
1º Formulário:
Entre com a quantidade de temperaturas:
Temperatura 1:
Temperatura 2:
Temperatura 3:
Submit
2º Formulário:
As temperaturas digitadas foram:
A maior e menor temperatura:
A média das temperaturas:
3
Download

Aula 05