• Nenhum resultado encontrado

Programação para a Internet II PHP Formulários. Nuno Miguel Gil Fonseca

N/A
N/A
Protected

Academic year: 2021

Share "Programação para a Internet II PHP Formulários. Nuno Miguel Gil Fonseca"

Copied!
17
0
0

Texto

(1)

Programação para a Internet II

2.5. PHP – Formulários

Nuno Miguel Gil Fonseca

nuno.fonseca@estgoh.ipc.pt

(2)

PHP – Hypertext Preprocessor

 Formulários

 Os formulários constituem uma das principais formas

de interacção entre “clientes” e “servidores”.

 São um dos principais responsáveis pelo surgimento de

sites dinâmicos, com informação dinâmica.

sites dinâmicos, com informação dinâmica.

 Um dos principais requisitos de um programador de

PHP é a sua capacidade de saber trabalhar com

formulários.

 Estrutura básica de um formulário em (X)HTML

...

<form ...>

...elementos...

</form>

(3)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 GET e POST

 Existem duas formas de fazer chegar a informação contida nos

formulários desde o browser dos clientes até ao servidor.

 No caso do GET, a Informação é enviada textualmente no

endereço do pedido que é feito ao servidor

endereço do pedido que é feito ao servidor

(4)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 GET e POST

 Já no caso do POST, a informação segue encapsulada no pedido

HTTP, ou seja, escondida do utilizador.

 Para definir se os dados serão envidados por GET ou por POST,

basta fazer:

basta fazer:

...

<form

method="POST"

>

...elementos...

</form>

...

(5)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 Acção

 Quando um formulário é submetido, é suposto que alguma acção

seja executada, ou seja, que algum ficheiro PHP seja

chamado...

...

<form

action="xpto.php"

method="POST">

...elementos...

</form>

...

(6)

PHP – Hypertext Preprocessor



Formulários (cont.)



Elementos de formulário



Linha de texto



Usada quando se pretende inserir

uma linha de texto

<input type="text" name="nomeDoElemento" id="nomeDoElemento" value="valor inicial" size="20" maxlength="20" />



Atributos

 name -Permite identificar o elemento de formulário

 type – identifica o tipo de input

 value – permite especificar um valor por defeito

 size – permite especificar o tamanho da “caixa” de texto (em numero de

caracteres)

 maxlength – permite especificar o número máximo de caracteres que podem ser

escritos na “caixa” de texto

(7)



Formulários (cont.)



Elementos de formulário(cont.)



Caixa de texto



Usada quando se pretende inserir

uma ou mais linhas de texto

PHP – Hypertext Preprocessor

<textarea name="nomeDoElemento" id="nomeDoElemento" cols="40" rows="4">valor inicial</textarea>



Atributos

 name - Permite identificar o elemento de formulário

 cols – permite especificar a largura da caixa de texto (em numero de caracteres)

 rows – permite especificar a altura da caixa de texto (em número de linhas)

(8)



Formulários (cont.)



Elementos de formulário(cont.)



Checkbox



Escolher uma ou mais opção de uma lista



Atributos

 name - Permite identificar o elemento de formulário

 – identifica o tipo de input

PHP – Hypertext Preprocessor

 type – identifica o tipo de input

 value – permite especificar o valor que é passado no caso da opção estar seleccionada

 checked – usada quando se pretende seleccionar por defeito uma determinada opção

<input type="checkbox" name="checkboxa" value="checked" checked="checked" />opção a<br> <input type="checkbox" name="checkboxb" value="checked" />opção b<br>

<input type="checkbox" name="checkboxc" value="checked" />opção c<br> <input type="checkbox" name="checkboxd" value="checked" />opção d<br>

(9)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 Elementos de formulário(cont.)

 Checkbox (cont)

 Por vezes não se sabe à partida quantas checkboxes iremos ter, pelo que é

necessário proceder de forma diferente...

<input type="checkbox" name="nomeDaCheckbox[]" value="a" checked="checked" />opção a<br> <input type="checkbox" name="nomeDaCheckbox[]" value="a" checked="checked" />opção a<br> <input type="checkbox" name="nomeDaCheckbox[]" value="b" />opção b<br>

<input type="checkbox" name="nomeDaCheckbox[]" value="c" />opção c<br> <input type="checkbox" name="nomeDaCheckbox[]" value="d" />opção d<br>

<?php

if(isset($_POST["nomeDaCheckbox"])){ $valores = $_POST["nomeDaCheckbox"]; if (count($valores)>0){

for($i=0;$i<count($valores);$i++){ print($valores[$i]);

} }

(10)

PHP – Hypertext Preprocessor



Formulários (cont.)



Elementos de formulário(cont.)



RadioButton



Ideal para quando é necessário escolher

apenas uma opção de uma lista

sim <input name="radiobutton" type="radio" value="sim" checked="checked" /> não <input name="radiobutton" type="radio" value="nao" />



Atributos

 name - Permite identificar o elemento de formulário

 type – identifica o tipo de input

 value – permite especificar o valor que é passado no caso da opção estar seleccionada

 checked – usada quando se pretende seleccionar por defeito uma determinada opção



Nota: Para dois ou mais radiobuttons permitirem a selecção de apenas

não <input name="radiobutton" type="radio" value="nao" />

(11)



Formulários (cont.)



Elementos de formulário(cont.)



SelectBox



Ideal para quando é necessário escolher

uma ou mais opções de uma lista



O select define o grupo de opções, option define cada uma das opções

PHP – Hypertext Preprocessor

<select name="nomeDoSelect" id="nomeDoSelect">



Atributos de select

 name- Permite identificar o elemento de formulário



Atributos de option

 value – permite especificar o valor que é passado no caso da opção estar seleccionada

<select name="nomeDoSelect" id="nomeDoSelect">

<option value="a" selected="selected">opção a</option> <option value="b">opção b</option>

<option value="c">opção c</option> </select>

(12)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 Elementos de formulário(cont.)

 SelectBox(cont)

 Por vezes temos a necessidade de escolher mais do que uma opção

<select name="nomeDoSelect[]" multiple="multiple" size="4">

<option value="a" selected="selected">opção a</option> <option value="a" selected="selected">opção a</option> <option value="b">opção b</option>

<option value="c">opção c</option> </select>

<?php

if(isset($_POST["nomeDoSelect"])){ $valores = $_POST["nomeDoSelect"]; if (count($valores)>0){ for($i=0;$i<count($valores);$i++){ print($valores[$i]); } } }

(13)



Formulários (cont.)



Elementos de formulário(cont.)



Botões



Usados para submeter o formulário, e não só...

PHP – Hypertext Preprocessor

<input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" />



Atributos

 name - Permite identificar o elemento de formulário

 type – identifica o tipo de input

<input type="reset" name="reset" value="Reset" /> <input type="button" name="button" value="Button" />

(14)



Formulários (cont.)



Elementos de formulário(cont.)



Password



Usados em situações em que é necessário introduzir passwords



O texto introduzido é substituído por asteriscos (*)

PHP – Hypertext Preprocessor



Atributos

 name - Permite identificar o elemento de formulário

 type – identifica o tipo de input

 size – permite especificar o tamanho da “caixa” de texto (em numero de caracteres)

 maxlength – permite especificar o número máximo de caracteres que podem ser escritos na

“caixa” de texto

(15)



Formulários (cont.)



Elementos de formulário(cont.)



File



Utilizado para fazer upload de ficheiros

PHP – Hypertext Preprocessor

<input name="nomeDoElemento" type="file" size="10" />



Atributos

 name - Permite identificar o elemento de formulário

 type – identifica o tipo de input

 size – permite especificar o tamanho da “caixa” de texto (em numero de caracteres)

<input name="nomeDoElemento" type="file" size="10" />

Nota: nesta secção apenas se apresenta o elemento HTML file, mais à frente ir-se-á apresentar como se processa o upload de

(16)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 Elementos de formulário(cont.)

 Campos escondidos

 Utilizado para transmitir informação não visível aos utilizadores

<input name="nomeDoElemento" type="hidden" value="abc" />

 Atributos

 name - Permite identificar o elemento de formulário  type – identifica o tipo de input

 value – o valor que será transmitido

(17)

PHP – Hypertext Preprocessor

 Formulários (cont.)

 Elementos de formulário(cont.)

 Aceder aos valores dos campos de formulário via GET (valores

passados no endereço do pedido - URL).

<?php

 Aceder aos valores dos campos de formulário via POST (valores

encapsulados no corpo do pedido)

<?php

$nome = $_GET["nome"];

?>

<?php

$nome = $_POST["nome"];

?>

Referências

Documentos relacionados

Nestes dois episódios reconhece-se uma diversidade de ações por parte da professora em momentos de discussão coletiva em que passa em revista o trabalho realizado pelos

Pensar o uso dos filmes de ficção nesta perspectiva, em que não apenas se olha os erros conceituais é uma forma de não impor verdades, mas construir conhecimento em conjunto com

A utilização de outro numeral que não seja o original da Copa São Paulo de Ciclismo, procedente de qualquer outro campeonato, torneio ou liga, implicará no impedimento da largada

2 a 2 com bola, um de cada lado da rede, o aluna com bola coloca-se na linha dos três metros e lança a boa para cima da rede, o outro faz bloco,

Observe que estamos propositalmente destacando os conceitos de “alfabetização” e de “letramento” juntos, pois acreditamos que as prá- ticas de letramento (que incluem

A primeira que designamos como a sua crítica às pretensões da razão e que não se aplica ao seu mestre ou a Anaximandro, pois, segundo ele, ambos partem de uma intuição mística

a) As fibras colágenas, assim como as elásticas, são constituídas de microfibrilas de colágeno, que se unem formando as fibrilas de colágeno, que, por sua vez, se

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