• Nenhum resultado encontrado

PHP Tratando Formulários. Prof. Gláucya Boechat

N/A
N/A
Protected

Academic year: 2021

Share "PHP Tratando Formulários. Prof. Gláucya Boechat"

Copied!
30
0
0

Texto

(1)

PHP

Tratando Formulários

Prof. Gláucya Boechat

(2)

2

Tratando Formulários

Tratando Formulários

Quando um formulário é submetido para um

script PHP

Qualquer variável do formulário será

automaticamente disponível para o script PHP

<html>

<body>

 <form

 action="recebe_dados.php

">

   Nome: <input type="text" name="

nome

"/>

  Idade: <input type="text" name="

idade

"/>

  <input type="submit" value=”Enviar” name=”

enviar

”/>

<input type="reset" name="

limpar

" value="Limpar"/>

 </form>

</body>

</html>

(3)

3

Enviando as informações para

um programa PHP

Enviando as informações para

um programa PHP

Existem dois métodos de passagem de

parâmetros:

Get

Post

Parâmetro da tag form

method

(4)

4

Método Get

Método Get

Método padrão para o envio de dados

O método utilizado se nenhum método for especificado no

parâmetro

method

da tag

form

.

Os dados serão enviados juntamente com a URL.

O método Get não deve ser usado para enviar senhas

ou informações confidenciais.

Não é adequado para variáveis com valores superiores

a 2000 caracteres

(5)

5

Método Get

Método Get

Caractere

?

Representa o início de uma cadeia

Símbolo

&

Identifica o início de uma nova variável

Caracter

=

Separa as variáveis de seus repectivos valores

(6)

6

Exemplo arquivo.html

Exemplo arquivo.html

<form 

action="

recebe_dados.php

" method="

get

"

>

 Nome: <input type="text" name="

nome

" />

 Idade: <input type="text" name="

idade

"/>

 <input type="submit" value=”Enviar” name=”

enviar

”>

 

<input type="reset" name="

limpar

" value="Limpar"/>

(7)

7

Variável $_GET

Variável $_GET

Ao clicar no botão

submit

do formulário da

página HTML.

Os dados do formulário são enviados para o

arquivo PHP

Utiliza da variavel

$_GET

para recolher os

dados

<html> <body>

Olá <?php echo $_GET["nome"]; ?><br>

você tem<?php echo $_GET["idade"]; ?> anos. </body>

</html>

Saída

Olá Aluno.

(8)

8

Exemplo

Exemplo

<html>  <body>   <form method="get" action="cor.php">    <p>Informe seu nome:</p>    <input type="text" name="nome"></p>    <p>Escolha uma cor:</p>

   <input type="radio" name="cor" value="r" /> Vermelho     <input type="radio" name="cor" value="g" /> Verde 

   <input type="radio" name="cor" value="b" /> Azul         </p>

   <input type="submit" value="Enviar" />   </form>

 </body> </html>

(9)

9

Exemplo (cor.php)

Exemplo (cor.php)

<?php

 switch ($_GET["cor"]) {

  case "r": $background = "rgb(255,0,0)"; break;   case "g": $background = "rgb(0,255,0)"; break;   case "b": $background = "rgb(0,0,255)"; break;   default: $background = "rgb(255,255,255)"; break;  } ?> <html> <body style="background: <?php echo $background;?>;">   <? echo "<h1>Olá " . $_GET["nome"] . "</h1>"; ?>

</body> </html>

(10)

10

Método POST

Método POST

O método

POST

é utilizado no parâmetro

method

da tag

form

.

Os dados do formulário são enviados no

próprio corpo da mensagem encaminhada ao

servidor.

O usuário não verá em sua barra de endereços a

cadeia de variáveis

Apenas o endereço do programa ativado será

mostrado.

(11)

11

Método POST

Método POST

Não há limitação de tamanho dos dados a serem

enviados.

Ao contrário do GET, que envia os dados por uma

cadeia de variáveis de tamanho limitado.

O método é utilizado para formulários que possuem

muitas informações a serem enviadas.

Podem ser enviados

Imagens

Ou outros arquivos

● É preciso utilizar o valor file no parâmetro type da tag input  <input name="nome_arquivo" type="file" />

(12)

12

Exemplo arquivo.html

Exemplo arquivo.html

<form 

action="

recebe_dados.php

" method="

post

"

>

  Nome: <input type="text" name="

nome

" />

  Idade: <input type="text" name="

idade

" />

  <input type="submit" value=”Enviar” name=”

enviar

”>

  

<input type="reset" name="

limpar

" value="Limpar"/>

(13)

13

Variável $_POST

Variável $_POST

A variável $_POST é usada para recolher os

dados

Enviadas pelo método POST da tag

form

<html> <body>

Olá <?php echo $_POST["nome"]; ?><br>

você tem<?php echo $_POST["idade"]; ?> anos. </body>

</html> Saída

Olá Aluno.

(14)

14

Exemplo

Exemplo

<p>Escolha um curso</p>

<form name="informacoes" method="POST" action="curso.php"> <select name="curso">

<option value="ADS" selected>Tecnologia em Análise e Desenvolvimento de Sistemas</option>

<option value="Automação">Tecnologia em Automação Industrial</option>

<option value="Matemática">Licenciatura em Matemática</option> <option value="TMSI">Técnico de Manutenção e Suporte em

Informática</option>

<option value="TAI">Técnico em Automação Industrial</option> </select> </p>

<input name="enviar" type="submit" value="Enviar"> </form>

(15)

15

curso.php

curso.php

<html>

<body>

<h3>Resultado</h3>

<?php

echo "<p>Curso selecionado: " .

$_POST

['

curso

'] . "</p>\n";

?>

</body>

</html>

(16)

16

Variável $HTTP_POST_VARS

[deprecated]

Variável $HTTP_POST_VARS

[deprecated]

A variável $HTTP_POST_VARS é usada para

recolher os dados

Enviadas pelo método POST da tag

form

Disponível se a diretiva register_globals = on.

Desde o PHP 4.2.0 o valor default de

register_globals é off

echo $HTTP_POST_VARS['

nome

'];

echo $HTTP_POST_VARS['

idade

'];

echo $nome;

echo $idade;

(17)

17

Variável $_REQUEST

Variável $_REQUEST

A variável predefinida $_REQUEST contém as

variáveis

$_GET

$_POST

$_COOKIE

A variável pode ser usada para recolher os

dados enviados pelos métodos

(18)

18

Variável $_REQUEST

Variável $_REQUEST

<html> <body>

Olá <?php echo $_REQUEST["nome"]; ?><br>

você tem<?php echo $_REQUEST["idade"]; ?> anos. </body>

</html>

Saída

Olá Aluno.

(19)

19

Exemplo

Exemplo

<?php

if(isset($_REQUEST['enviar'])){

echo "</p><h2>Dados do formulário</h2> <hr> </p>"; echo "Nome : {$_REQUEST['nome']} </br>";

echo "Comentário : {$_REQUEST['comentario']}</p><hr>"; }else{

echo "<h2>Formulário</h2>

<form name='informacoes' method='POST' action=#>

Informe seu nome: <input name='nome' type='text'><br/><br/> Escreva um comentário: </p>

<textarea name='comentario' rows='3' cols='25'></textarea> <br/><br/> <input name='enviar' type='submit' value='Enviar'>

</form>"; }

(20)

20

Exemplo

Exemplo

(21)

21

Adicionando valores nos

formulários

Adicionando valores nos

formulários

<?php

if(isset($_POST['enviar'])){

echo "Dados enviado: </p> <pre>"; print_r($_POST); echo "</pre>"; } ?>

<h2>Login</h2>

<form name="LoginForm" method="POST" action="#">

Login : <input name="login" type="text" value="<?php echo $_POST['login']; ?>"><br/><br/>

Senha : <input name="senha" type="password" value="<?php echo $_POST['senha']; ?>"><br/><br/>

<input type="submit" name="enviar" value="Enviar"> <input type="reset" name="limpar" value="Limpar" /> </form>

(22)

22

Adicionando valores nos

formulários

Adicionando valores nos

formulários

(23)

23

Variáveis de formulários mais

complexos

Variáveis de formulários mais

complexos

<html>

<form action="dados.php" method="

post

">

Nome: <input type="text" name="

Dados

[nome]" /><br />

Idade: <input type="text" name="

Dados

[idade]" /><br />

Curso: <br />

<select multiple name="

Curso[]

">

<option value="

ADS

">

Tecnologia em Análise e Desenvolvimento de Sistemas</option>

<option value="

TAI

">

Tecnologia em Automação Industrial</option>

<option value="

LM

">

Licenciatura em Matemática</option>

</select><br />

<input type="submit" value="Enviar dados!" />

</form>

(24)

24

dados.php

dados.php

<html>

<?php

echo '<pre>';

echo htmlspecialchars(print_r(

$_POST

, true));

echo '</pre>';

echo "<br> Nome : ".

$_POST

["

Dados

"]["

nome

"];

echo "<br> Idade : ".

$_POST

["

Dados

"]["

idade

"];

echo "<br> Curso : ".

$_POST

["

Curso

"][

0

];

?>

</html>

Saída Array( [Dados] => Array ( [nome] => Aluno [idade] => 19 ) [Curso] => Array ( [0] => ADS )) Nome : Aluno Idade : 19 Curso : ADS

(25)

25

Exemplo

Exemplo

<?php

if (isset($_POST['enviar'])){

echo "Você gosta das linguagens:<br />";

foreach($_POST['linguagens'] AS $languagem) echo "$languagem<br />"; }

?>

<form action="linguagens.php" method="post"> Quais liguangens você conhece? </p>

<input type="checkbox" name="linguagens[]" value="php" />PHP<br /> <input type="checkbox" name="linguagens[]" value="C" />C<br />

<input type="checkbox" name="linguagens[]" value="Java" />Java<br />

<input type="checkbox" name="linguagens[]" value="Python" />Python </p> <input type="submit" name="enviar" value="Enviar" />

(26)

26

variáveis Adicionais

(submit image)

variáveis Adicionais

(submit image)

Utilizando imagens ao invés do botão de

submit

Ao clicar em algum lugar da imagem,

Será enviado duas variáveis contendo as

coordenadas do clique do usuário na imagem

sub_x e sub_y.

(27)

27

Função mail( )

Função mail( )

A função mail envia um e-mail

Na mensagem a ser enviada, cada linha deve ser

separada por (\n). E cada linha não deve ser maior

que 70 caracteres.

A função TRUE se o e-mail foi aceito com sucesso

para entrega, e FALSE caso contrário

bool

mail

( string

$to

, string

$subject

,

string

$message

[, string

$additional_headers

[,

string

$additional_parameters

]] )

(28)

28

Exemplo

Exemplo

<form name='envia_email'   action ='email.php' 

method='

POST

'>

Nome: <input type='text' name='

nome

'><br>

  Assunto: <input type='text' name='

assunto

'><br>

E­mail: <input type='text' name='

email

'><br>

  Messagem:<br/><textarea name="

mensagem

    cols="65" rows="4"></textarea> </p> 

  <input type="submit" value="Enviar" 

     name=”enviar” />

  <input type="reset" name="limpar" 

     value="Limpar" />

</form>

(29)

29

Exemplo (envia_email.php)

Exemplo (envia_email.php)

<?php

  $nome     = 

$_POST

['

nome

'];

  $email    =

 $_POST

['

email

'];

  $mensagem =

 $_POST

['

mensagem

'];

  $msg  = "Nome: ".$nome."<BR>\n";

  $msg .= "Email: ".$email."<BR>\n";

  $msg .= "Mensagem: ".$mensagem."

<BR>\n";

  if(mail("aluno@ifspguarulhos.edu.br",  

   

$_POST

['

assunto

'],$msg)){

      echo("E­mail enviado com sucesso!!!");

  } else {

      echo("Erro durante o envio do e­mail");

  }

?>

(30)

30

Enviando e-mail pelo gmail

Enviando e-mail pelo gmail

<?php

require_once('Mail.php');

// Incluindo a classe

$to =

$_POST

['email'];

$from = "email_do_google_apps@gmail.com";

$subject =

$_POST

['assunto'];

$body

=

$_POST

['mensagem'];

//corpo da msg

$host = "ssl://smtp.gmail.com";

// Servidor do Gmail.

$username = "email_do_google_apps@gmail.com";

$password = "senha_do_google_apps";

$headers

= array ('From' => $from,'To' => $to, 'Subject' => $subject);

$smtp

= Mail::factory('smtp', array ('host' => $host, 'port' => 465,

'auth' => true, 'debug' => false, 'username' => $username,

'password' => $password) );

$mail = $smtp->send($to, $headers, $body);

// Efetuando o envio

Referências

Documentos relacionados

[r]

Os dois trabalhos apontam para a existência de relações complexas entre sociedade brasileira do início do século XX e práticas religiosas de origem africana.Tanto o estudo de

Acreditamos, ainda, que a lógica da participação em rede não apenas colocou uma pauta em evidência como a transformou de uma narrativa polarizada, até então, entre a defesa da vida

Assim nasce, em 2013, o I FÓRUM ECONÓMICO PORTUGAL-PAÍSES ÁRABES, um espaço de diálogo e de partilha focando as oportunidades existentes para o sector privado de ambos os lados, Sob

Esta fala de Waiwai explicita dois tipos de experiências relativas a filmagens que os Waiãpi conheceram: uma negativa, que remete a uma primeira experiência nos anos 70 com os

A coleta de dados na realização da pesquisa será executada através da obtenção de informações através dos agentes sociais envolvidos, articulando-os aos estudos referenciais da

No 8º dia após o último comprimido de DELLAX 20 e DELLAX 30 (ou seja, após os 7 dias da semana de intervalo), inicie a fita seguinte, mesmo que a hemorragia não tenha parado.

Este conceito de cultura como um sistema de símbolos significantes tem muito em comum com uma vertente das pesquisas sociológicas, o interacionismo simbólico, uma teoria