Bento Evaldo Junior - Desenvolvimento web com PHP e MySQL стр 10.

Шрифт
Фон

Certo, agora temos um formulário sendo exibido, mas, como será que o PHP con-

segue pegar os dados que são informados nos formulários? Vamos fazer um expe-

rimento: no nome da tarefa, digite Estudar PHP e clique no botão Cadastrar. O

que aconteceu? Aparentemente, nada, mas o texto sumiu da caixa de texto. E ou-

tra coisa muito interessante também aconteceu, o endereço do nosso script mudou!

Sim, repare que agora existe uma interrogação no endereço, seguida por um texto

que tem muito a nos dizer. Veja como ficou o endereço:

http://localhost/tarefas/tarefas.php?nome=Estudar+PHP

Dá para tirarmos algumas conclusões aqui, certo? O nome do input no for-

mulário é nome e neste endereço temos um trecho nome=, ou seja, o que digitamos

no campo foi enviado através do endereço, através da URL (vou chamar o endereço

de URL daqui para frente).

Na primeira vez que chamamos a página, seu endereço não tinha o trecho com

o nome da tarefa, mas quando digitamos o nome e enviamos, este trecho

passou a

aparecer depois do símbolo de interrogação ( ?). Ou seja, um formulário serve para

enviarmos os dados para algum lugar.

33

4.4. Pegando os dados da URL

Casa do Código

Entrada de dados na web

Se você já programou algum software para desktop ou scripts para a

linha de comando, já deve ter lidado com entrada de dados do usuário.

Neste tipo de software, em geral basta parar o processamento e pedir

para o usuário informar um valor, e então seguir em frente usando o valor

fornecido.

Na web, as coisas são um pouco diferentes. O PHP não pode ser pa-

rado para perguntar algo para o usuário, então os dados já devem existir

para o PHP quando o script começar a rodar. Confuso? Na verdade é

só uma maneira diferente de encarar a entrada de dados. Veja a nossa

URL, por exemplo, ela tem o trecho nome=Estudar+PHP. Este trecho

serve para inserir uma informação para o PHP, no caso, o nome da ta-

refa. Sendo assim, quando o script tarefa.php começar a executar, ele

já terá esta informação.

Por isso, na web devemos sempre pensar na entrada de dados usando

os formulários que irão enviar os dados para a próxima página.

Por enquanto, a nossa próxima página é a mesma página, mas vere-

mos como mudar isso mais adiante.

Legal, já sabemos que o nome da tarefa foi enviado através da URL. Agora a

questão é: Como pegar esse dado dentro do PHP?

4.4

Pegando os dados da URL

PHP nasceu para a web e se dá muito bem com ela. Por isso, em PHP é super simples

pegar os dados fornecidos pelo usuário através de formulários e URLs. Em PHP exis-

tem algumas variáveis chamadas de super globais, isso significa que estas variáveis

existem em todos os escopos de seus programas PHP. Ou seja, você pode acessá-las

dentro de funções, dentro de laços, dentro de classes... Enfim, em qualquer lugar do

seu código elas estarão disponíveis.

No nosso caso, vamos usar a super global $_GET. Lembra dos arrays que foram

usados para fazer o calendário? $_GET também é um array e o mais interessante é

que o PHP pega o que está na URL e coloca em $_GET para usarmos! Vamos fazer

um teste exibindo o nome digitado logo após o nosso formulário. Para isso, após

34

Casa do Código

Capítulo 4. Entrada de dados com formulário

o fechamento do formulário, ou seja, depois da tag </form>, adicione o seguinte

código:

...

</form>

<?php

if (isset($_GET['nome'])) {

echo "Nome informado: " . $_GET['nome'];

}

?>

...

As reticências são apenas ilustrativas, claro! Alias, de agora em diante vou colo-

car reticências várias vezes para ilustrar trechos que deverão ser incluídos dentro de

códigos já existentes.

Neste trecho estamos usando a função isset() que verifica se uma variável

existe, ou, neste caso, se o índice nome existe no array $_GET. Caso o índice exista,

vamos exibi-lo usando o echo.

Em PHP, assim como em outras linguagens, é necessário definir uma variável

antes de tentar usá-la. A função isset() é interessante para nos ajudar a verificar

se uma variável existe, ou neste caso, um índice em um array, pois isset() não irá

gerar um erro, dizendo que a variável não existe.

Atualize sua página, em http://localhost/tarefas/tarefas.php, mantendo a URL

com o nome, ou digite no formulário novamente e envie os dados. Sua página deverá

ficar assim:

Figura 4.2: Exibindo os dados usando $_GET

35

4.4. Pegando os dados da URL

Casa do Código

Legal, agora que sabemos pegar o valor que foi passado através da URL usando

$_GET, podemos guardar este valor em um array que será a nossa lista de tarefas.

Para isso, troque o código que acabamos de fazer para exibir o nome infor-

mado por um que pegue o valor em $_GET e guarde em um array chamado

$lista_tarefas:

...

</form>

<?php

$lista_tarefas = array();

if (isset($_GET['nome'])) {

$lista_tarefas[] = $_GET['nome'];

}

?>

...

Este código é bem simples, apenas verificamos se existe o índice nome dentro

de

$_GET e caso exista, criamos um novo índice em $lista_tarefas usando a

sintaxe de colchetes vazios.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке