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
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
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
Solução: passagem de valores na URL
Sintaxe da QueryString

}

pagina.php[?param1=val1[&param2=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
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
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
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
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
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
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
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

Variaveis Superglobais

  • 1.
    Variáveis Super-globais Prof. MauricioGarcia 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 noscript } } } 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 doaluno 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 devalores na URL Sintaxe da QueryString } pagina.php[?param1=val1[&param2=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 valoresna 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áriosHTML 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 paraenvio 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 umcomando 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