PHP e Formulários Web. Definindo Funções e integração HTML-PHP PHP é muito limitado se não...

Post on 22-Apr-2015

107 views 1 download

Transcript of PHP e Formulários Web. Definindo Funções e integração HTML-PHP PHP é muito limitado se não...

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.

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.

Definindo Funções e integração HTML-PHP

<?phpecho "<center> Data: ";echo "<select name = 'data'>";for ($i=1; $i<= 31; $i++)

echo "<option value= '$i'> $i de janeiro de 2006 </option>";echo "</select>";?>

Para criarmos um código em HTML embutido no PHP deve-se coloca-lo como uma string.

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

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:$_GET[ ] para o método GET$_POST[ ] para o método POST

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>

<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_envio.html

arquivo: formulario_evio.html

<?phpecho " o nome digitado foi ";echo $_POST["nome"];echo "<BR> O numero escolhido foi ";echo $_POST["numero"];?>

Arquivo: recebe.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 = "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

<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>

Exercício Resolvido: Faça uma página (html) que peça 3 valores e calcule a média.

Arq: formulario_exerc02.html

Arq :exerc02.php

<?phpecho "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"]." ";?>

USANDO VETORES

ExercícioUtilizando vetores, desenvolva:

1º Formulário:

Entre com a quantidade de temperaturas:

Temperatura 1:

Temperatura 2:

Temperatura 3:

3

Submit

2º Formulário:

As temperaturas digitadas foram:

A maior e menor temperatura:

A média das temperaturas: