O documento discute variáveis super-globais e formulários em PHP, incluindo: 1) variáveis como $_GET e $_POST que contêm dados de formulários; 2) como passar valores na URL usando a query string; 3) como formulários HTML enviam dados e PHP os recebe nas variáveis super-globais.
1. Variáveis Super-globais
Prof. Mauricio Garcia Nascimento
Prof. Daniel Arndt Alves
Introdução ao Desenvolvimento de Sistemas Web com PHP
Programa de Verão IME-USP 2014
2. Definições
Escopo global no script
}
}
}
Corpo principal
Dentro de funções e classes
}
Sem a necessidade da palavra reservada global
Criadas automaticamente pelo script PHP
Tipo: array
Principais variáveis Super-globais
}
}
}
}
$_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER
http://php.net/manual/language.variables.predefined.php
!2
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
3. Problema I
Informações do aluno
pagina.joao.php
Lista de alunos
!
10. João
15. Maria
35. José
...
56. Antônio
pagina.10.php
pagina.maria.php
pagina.15.php
pagina.jose.php
pagina.35.php
pagina.antonio.php pagina.56.php
!3
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
4. Solução: passagem de valores na URL
Sintaxe da QueryString
}
pagina.php[?param1=val1[¶m2=val2]...]
$_GET[‘id’]
lista.php
detalhe.php?id=10
$_GET[‘cod’]
$_GET[‘titulo’]
noticia.php?cod=20&titulo=teste
principal.php?num=100&texto=abc&valor=20.2
!4
$_GET[‘num’]
$_GET[‘texto’]
$_GET[‘valor’]
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
5. Passagem de valores na URL
Lista de alunos
!
10. João
<a href=“aluno.php?id=10”>
!
15. Maria
<a href=“aluno.php?id=15”>
!
35. José
<a href=“aluno.php?id=35”>
...
Informações do aluno
aluno.php
var_dump($_GET);
!
$_GET[‘id’];
!
56. Antônio
<a href=“aluno.php?id=56”>
!5
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
6. Problema II: formulários HTML
cadastro.php
Nome:
Endereço:
Estado:
Envio dos dados
Sexo:
masculino
feminino
Enviar
!6
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
7. Formulários HTML
Processo para envio dos dados
}
}
}
}
}
}
Dados são fornecidos pelo usuário
Formulário é submetido
Navegador envia dados na requisição, pelo método e para a
URL indicados na tag <form>
Script recebe dados em variável Super-global
Método mais frequente: POST
!
<form method="post" action="cadastro.php">
!7
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
8. Formulários HTML
<form method=“post” action=“cadastro.php”>
Nome:
txt_nome
Endereço:
cadastro.php
txt_endereco
var_dump($_POST);
!
Estado:
Envio dos dados
sel_uf
Sexo:
rad_sexo
masculino
$_POST['txt_nome'];
$_POST['txt_endereco'];
$_POST['sel_uf'];
$_POST['rad_sexo'];
$_POST['btn_submit'];
feminino
btn_submit
Enviar
!8
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
9. Padrões para formulários
form.php
formulário
gravar.php
post
validar / gravar
dados
ok.php
ok
confirmação
erro!
!9
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
10. Padrões para formulários
form.php
ok.php
ok
!
formulário
!
!
confirmação
validar / validar
dados
post
!10
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
11. Função header
}
}
}
Envia um comando no cabeçalho da requisição HTTP
Deve ser utilizada antes de qualquer saída de impressão
Pode redirecionar o usuário para uma URL
header('Location: http://servidor/pagina.php');
Warning: Cannot modify header information - headers already sent
!11
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br