SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Programação para WEB ,[object Object],[object Object],PHP: Sessões, Cookies e Cabeçalhos HTTP
Sessões ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ID de Sessão ,[object Object],[object Object],[object Object],[object Object]
ID de Sessão via Cookie ,[object Object]
Iniciando uma Sessão ,[object Object],[object Object]
Armazenando algo na Sessão ,[object Object],[object Object],[object Object]
Armazenando algo na Sessão <?php   session_start(); $variavel_01   =   &quot;Programação&quot; ; $variavel_02   =   &quot;para WEB&quot; ; session_register( 'variavel_01' ); $_SESSION [ 'variavel_02' ]   =   $variavel_02 ; ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Informações sobre a sessão: </ p > <?php   echo   '<p>Session ID: ' .session_id(). '</p>' ; print_r( $_SESSION );   ?> </ p > </ body > </ html >
Eliminando algo da Sessão ,[object Object],[object Object],[object Object],[object Object]
Tempo de vida da Sessão ,[object Object],[object Object],[object Object],[object Object],[object Object]
Destruindo uma Sessão ,[object Object],[object Object],[object Object]
Cookie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Informações contidas em um Cookie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cookie ,[object Object],[object Object],[object Object]
Adicionando Cookies <?php   /* dura até o fechamento do browser */ setcookie( 'meu_cookie1' ,   'PHP' ); /* dura 1 hora */ setcookie( 'meu_cookie2' ,   'WEB' ,   time()+ 3600 );   /* dura 1 hora */ setcookie( 'meu_cookie3' ,   'NOW' ,   time()+ 3600 ,   '/regis/' ,   '' ); ?>
Usando Cookies <?php echo   'meu_cookie1: ' ; echo  $_COOKIE [ 'meu_cookie1' ]. '<br/>' ; echo   'meu_cookie2: ' ; echo   $_COOKIE [ 'meu_cookie2' ]. '<br/>' ; echo   'meu_cookie3: ' ; echo   $_COOKIE [ 'meu_cookie3' ]. '<br/>' ; print_r( $_COOKIE ); ?>
Removendo Cookies <?php // configurar valor com string vazia setcookie   ( 'meu_cookie1' ,   '' ); setcookie   ( 'meu_cookie2' ,   '' ); // configurar a data de expiração para o passado setcookie   ( 'meu_cookie3' ,   '' ,   time()   -   3600 ); ?>
Adicionando Array em Cookies <?php setcookie( 'pessoa[0]' ,   'Maria' ); setcookie( 'pessoa[1]' ,   'João' ); setcookie( 'pessoa[2]' ,   'José' ); ?>
Contadores (session e cookie) <?php session_start(); $_SESSION [ 'contador_session' ]++; setcookie( 'contador_cookie' , $_COOKIE [ 'contador_cookie' ]   +   1 ); ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Contador Session:  <?php   echo   $_SESSION [ 'contador_session' ]   ?> < p /> < p > Contador Cookie:  <?php   echo   $_COOKIE [ 'contador_cookie' ]   +   1   ?> < p /> <?php   print_r( $_COOKIE );   ?> </ body > </ html >
Inserindo itens em um array <?php session_start(); if   (strlen(trim( $_POST [ 'nome' ]))   >   0 )   { if   (gettype( $_SESSION [ 'nomes' ])   ==   'array' )   { array_push( $_SESSION [ 'nomes' ],   $_POST [ 'nome' ]); }   else   { $_SESSION [ 'nomes' ]   =   array ( $_POST [ 'nome' ]); } } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form  action = &quot;exemplo_session3.php&quot;  method = &quot;post&quot; > < p > Nome:  < input  name = &quot;nome&quot;  type = &quot;text&quot; /></ p > < input  type = &quot;submit&quot;  value = &quot;Inserir Nome&quot; /> </ form > <?php   if   (gettype( $_SESSION [ 'nomes' ])   ==   'array' )   { echo   '<p>Nomes inseridos na sessão:</p>' ; foreach   ( $_SESSION [ 'nomes' ]   as   $item )   { echo   $item . '<br/>' ; } } ?> </ body > </ html >
Inserindo itens em um array <?php session_start(); if   (strlen(trim( $_POST [ 'nome' ]))   >   0 )   { $tamanho   =   count( $_COOKIE [ 'nomes' ]); setcookie( &quot;nomes[ $tamanho ]&quot; ,   $_POST [ 'nome' ]); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form  action = &quot;exemplo_session3.php&quot;  method = &quot;post&quot; > < p > Nome:  < input  name = &quot;nome&quot;  type = &quot;text&quot; /></ p > < input  type = &quot;submit&quot;  value = &quot;Inserir Nome&quot; /> </ form > <?php   if   (gettype( $_COOKIE [ 'nomes' ])   ==   'array' )   { echo   '<p>Nomes inseridos na sessão:</p>' ; foreach   ( $_COOKIE [ 'nomes' ]   as   $item )   { echo   $item . '<br/>' ; } echo   $_POST [ 'nome' ]. '<br/>' ; } ?> </ body > </ html >
Cabeçalhos HTTP ,[object Object],[object Object],<?php header( 'Location: http://localhost/xampp' ); exit ; ?> <?php $servidor   =   'http://'   .   $_SERVER [ 'HTTP_HOST' ]; header( 'Location: '   .   $servidor   .   '/xampp/' ); exit ; ?>
Redirecionamento via HTML < html > < head > < meta  http-equiv = &quot;refresh&quot;   content = &quot;0;url=http://localhost/xampp/&quot;  /> </ head > < body > < p > Redirecionando... </ p > </ body > </ html >
Autenticação HTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Autenticação HTTP <?php function   authenticate()   { header( 'WWW-Authenticate: Basic realm=&quot;CEFET-PHB&quot;' ); header( 'HTTP/1.0 401 Unauthorized' ); echo   'Usuário ou senha invalido(s).' ; exit ; } if   (! isset ( $_SERVER [ 'PHP_AUTH_USER' ]))   { authenticate(); } if   ( $_SERVER [ 'PHP_AUTH_USER' ]   !=   'regis'   ||   $_SERVER [ 'PHP_AUTH_PW' ]   !=   '1234' )   { authenticate(); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < p > Bem-vindo ao nosso site!!! </ p > </ body > </ html >
CAPTCHA <!-- exemplo_captcha.php --> < html > < head > < title > CEFET-PHB </ title > </ head > < body > < h1 > CAPTCHA </ h1 > < p > Completely Automated Public Turing test to tell Computers and Humans Apart </ p > < p > teste de Turing público completamente automatizado para diferenciar entre computadores e humanos </ p > < img  src = &quot;exemplo_captcha2.php&quot;  /> </ body > </ html >
CAPTCHA <?php // exemplo_captcha2.php header( 'Content-type: image/png' ); // Requisitos mínimos if (!function_exists( &quot;gd_info&quot; ))   { echo   &quot;Biblioteca GD não instalada.&quot; ; exit (); } // Criar a imagem $imagem   =   @imagecreate( 100 , 100 ); // Criar a paleta de cores $branco   =   @imagecolorallocate( $imagem , 0xFF , 0xFF , 0xFF ); $azulescuro   =   @imagecolorallocate( $imagem , 0x00 , 0x00 , 0x80 ); $verde   =   @imagecolorallocate( $imagem , 0x00 , 0xFF , 0x00 ); $verdeescuro   =   @imagecolorallocate( $imagem , 0x00 , 0x80 , 0x00 ); $vermelhoescuro   =   @imagecolorallocate( $imagem , 0x80 , 0x00 , 0x00 ); // Desenhar linhas aleatórias for ( $i   =   0 ; $i   <   3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $vermelhoescuro ); for ( $i   =   0 ; $i   <   3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verdeescuro ); for ( $i   =   0 ; $i   <   3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verde ); // Escrever palavra-passe aleatória for ( $i   =   0 ; $i   <   4 ; $i ++) @imagestring( $imagem , 6 , 32   +   10   *   $i , 32 +rand(- 5 , 5 ),rand( 1 , 9 ), $azulescuro ); // Rotacionar a imagem $imagem   =   @imagerotate( $imagem , 10 , $branco ); // Finalização da imagem @imagepng( $imagem ); ?>

Weitere ähnliche Inhalte

Was ist angesagt?

Exercicios hardware comentado
Exercicios hardware comentadoExercicios hardware comentado
Exercicios hardware comentado
capitulocontabil
 
SO de computadores pessoais
SO de computadores pessoaisSO de computadores pessoais
SO de computadores pessoais
Amanda Larentis
 
Unidade II - hardware
Unidade II -  hardwareUnidade II -  hardware
Unidade II - hardware
Daniel Moura
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
teacherpereira
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
Abnel Junior
 

Was ist angesagt? (20)

Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
Oracle data integrator (odi)
Oracle data integrator (odi)Oracle data integrator (odi)
Oracle data integrator (odi)
 
Pseudoparalelismo
PseudoparalelismoPseudoparalelismo
Pseudoparalelismo
 
Exercicios hardware comentado
Exercicios hardware comentadoExercicios hardware comentado
Exercicios hardware comentado
 
SO de computadores pessoais
SO de computadores pessoaisSO de computadores pessoais
SO de computadores pessoais
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Unidade II - hardware
Unidade II -  hardwareUnidade II -  hardware
Unidade II - hardware
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
Backup & restore in windows
Backup & restore in windowsBackup & restore in windows
Backup & restore in windows
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Instalação de Servidor de Arquivo
Instalação de Servidor de ArquivoInstalação de Servidor de Arquivo
Instalação de Servidor de Arquivo
 
Apostila packet tracer 5.3
Apostila packet tracer 5.3Apostila packet tracer 5.3
Apostila packet tracer 5.3
 
Montando o Computador
Montando o ComputadorMontando o Computador
Montando o Computador
 
Segurança dos Sistemas Operativos
Segurança dos Sistemas OperativosSegurança dos Sistemas Operativos
Segurança dos Sistemas Operativos
 
Setup; bios; post.
Setup; bios; post.Setup; bios; post.
Setup; bios; post.
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 
Aula Inaugural - Curso Técnico em Informática para Internet
Aula Inaugural - Curso Técnico em Informática para InternetAula Inaugural - Curso Técnico em Informática para Internet
Aula Inaugural - Curso Técnico em Informática para Internet
 

Andere mochten auch (7)

Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação Web
 
Sessions in php
Sessions in php Sessions in php
Sessions in php
 
A Ilustração na Comunicação Visual das Empresas
A Ilustração na Comunicação Visual das EmpresasA Ilustração na Comunicação Visual das Empresas
A Ilustração na Comunicação Visual das Empresas
 
Entrevista MIE
Entrevista MIEEntrevista MIE
Entrevista MIE
 
Projeto gráfico para impressos jornalísticos
Projeto gráfico para impressos jornalísticosProjeto gráfico para impressos jornalísticos
Projeto gráfico para impressos jornalísticos
 
Projeto editorial e projeto gráfico
Projeto editorial e projeto gráficoProjeto editorial e projeto gráfico
Projeto editorial e projeto gráfico
 
Cookie and session
Cookie and sessionCookie and session
Cookie and session
 

Ähnlich wie Php 03 Sessoes Cookies Cabecalhos

Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
metzen
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa Flex
Eduardo Kraus
 

Ähnlich wie Php 03 Sessoes Cookies Cabecalhos (20)

Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Apresentacao codeigniter
Apresentacao codeigniterApresentacao codeigniter
Apresentacao codeigniter
 
Smarty Template Engine
Smarty Template EngineSmarty Template Engine
Smarty Template Engine
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa Flex
 
Desenvolvimento de aplicativos para o Facebook
Desenvolvimento de aplicativos para o FacebookDesenvolvimento de aplicativos para o Facebook
Desenvolvimento de aplicativos para o Facebook
 
nDeveloper Framework
nDeveloper FrameworknDeveloper Framework
nDeveloper Framework
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
NotORM
NotORMNotORM
NotORM
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Sistema php
Sistema phpSistema php
Sistema php
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHP
 

Mehr von Regis Magalhães

Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
Regis Magalhães
 

Mehr von Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Easy Rails
Easy RailsEasy Rails
Easy Rails
 

Php 03 Sessoes Cookies Cabecalhos

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Armazenando algo na Sessão <?php session_start(); $variavel_01 = &quot;Programação&quot; ; $variavel_02 = &quot;para WEB&quot; ; session_register( 'variavel_01' ); $_SESSION [ 'variavel_02' ] = $variavel_02 ; ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Informações sobre a sessão: </ p > <?php echo '<p>Session ID: ' .session_id(). '</p>' ; print_r( $_SESSION ); ?> </ p > </ body > </ html >
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Adicionando Cookies <?php /* dura até o fechamento do browser */ setcookie( 'meu_cookie1' , 'PHP' ); /* dura 1 hora */ setcookie( 'meu_cookie2' , 'WEB' , time()+ 3600 ); /* dura 1 hora */ setcookie( 'meu_cookie3' , 'NOW' , time()+ 3600 , '/regis/' , '' ); ?>
  • 15. Usando Cookies <?php echo 'meu_cookie1: ' ; echo $_COOKIE [ 'meu_cookie1' ]. '<br/>' ; echo 'meu_cookie2: ' ; echo $_COOKIE [ 'meu_cookie2' ]. '<br/>' ; echo 'meu_cookie3: ' ; echo $_COOKIE [ 'meu_cookie3' ]. '<br/>' ; print_r( $_COOKIE ); ?>
  • 16. Removendo Cookies <?php // configurar valor com string vazia setcookie ( 'meu_cookie1' , '' ); setcookie ( 'meu_cookie2' , '' ); // configurar a data de expiração para o passado setcookie ( 'meu_cookie3' , '' , time() - 3600 ); ?>
  • 17. Adicionando Array em Cookies <?php setcookie( 'pessoa[0]' , 'Maria' ); setcookie( 'pessoa[1]' , 'João' ); setcookie( 'pessoa[2]' , 'José' ); ?>
  • 18. Contadores (session e cookie) <?php session_start(); $_SESSION [ 'contador_session' ]++; setcookie( 'contador_cookie' , $_COOKIE [ 'contador_cookie' ] + 1 ); ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Contador Session: <?php echo $_SESSION [ 'contador_session' ] ?> < p /> < p > Contador Cookie: <?php echo $_COOKIE [ 'contador_cookie' ] + 1 ?> < p /> <?php print_r( $_COOKIE ); ?> </ body > </ html >
  • 19. Inserindo itens em um array <?php session_start(); if (strlen(trim( $_POST [ 'nome' ])) > 0 ) { if (gettype( $_SESSION [ 'nomes' ]) == 'array' ) { array_push( $_SESSION [ 'nomes' ], $_POST [ 'nome' ]); } else { $_SESSION [ 'nomes' ] = array ( $_POST [ 'nome' ]); } } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form action = &quot;exemplo_session3.php&quot; method = &quot;post&quot; > < p > Nome: < input name = &quot;nome&quot; type = &quot;text&quot; /></ p > < input type = &quot;submit&quot; value = &quot;Inserir Nome&quot; /> </ form > <?php if (gettype( $_SESSION [ 'nomes' ]) == 'array' ) { echo '<p>Nomes inseridos na sessão:</p>' ; foreach ( $_SESSION [ 'nomes' ] as $item ) { echo $item . '<br/>' ; } } ?> </ body > </ html >
  • 20. Inserindo itens em um array <?php session_start(); if (strlen(trim( $_POST [ 'nome' ])) > 0 ) { $tamanho = count( $_COOKIE [ 'nomes' ]); setcookie( &quot;nomes[ $tamanho ]&quot; , $_POST [ 'nome' ]); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form action = &quot;exemplo_session3.php&quot; method = &quot;post&quot; > < p > Nome: < input name = &quot;nome&quot; type = &quot;text&quot; /></ p > < input type = &quot;submit&quot; value = &quot;Inserir Nome&quot; /> </ form > <?php if (gettype( $_COOKIE [ 'nomes' ]) == 'array' ) { echo '<p>Nomes inseridos na sessão:</p>' ; foreach ( $_COOKIE [ 'nomes' ] as $item ) { echo $item . '<br/>' ; } echo $_POST [ 'nome' ]. '<br/>' ; } ?> </ body > </ html >
  • 21.
  • 22. Redirecionamento via HTML < html > < head > < meta http-equiv = &quot;refresh&quot; content = &quot;0;url=http://localhost/xampp/&quot; /> </ head > < body > < p > Redirecionando... </ p > </ body > </ html >
  • 23.
  • 24. Autenticação HTTP <?php function authenticate() { header( 'WWW-Authenticate: Basic realm=&quot;CEFET-PHB&quot;' ); header( 'HTTP/1.0 401 Unauthorized' ); echo 'Usuário ou senha invalido(s).' ; exit ; } if (! isset ( $_SERVER [ 'PHP_AUTH_USER' ])) { authenticate(); } if ( $_SERVER [ 'PHP_AUTH_USER' ] != 'regis' || $_SERVER [ 'PHP_AUTH_PW' ] != '1234' ) { authenticate(); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < p > Bem-vindo ao nosso site!!! </ p > </ body > </ html >
  • 25. CAPTCHA <!-- exemplo_captcha.php --> < html > < head > < title > CEFET-PHB </ title > </ head > < body > < h1 > CAPTCHA </ h1 > < p > Completely Automated Public Turing test to tell Computers and Humans Apart </ p > < p > teste de Turing público completamente automatizado para diferenciar entre computadores e humanos </ p > < img src = &quot;exemplo_captcha2.php&quot; /> </ body > </ html >
  • 26. CAPTCHA <?php // exemplo_captcha2.php header( 'Content-type: image/png' ); // Requisitos mínimos if (!function_exists( &quot;gd_info&quot; )) { echo &quot;Biblioteca GD não instalada.&quot; ; exit (); } // Criar a imagem $imagem = @imagecreate( 100 , 100 ); // Criar a paleta de cores $branco = @imagecolorallocate( $imagem , 0xFF , 0xFF , 0xFF ); $azulescuro = @imagecolorallocate( $imagem , 0x00 , 0x00 , 0x80 ); $verde = @imagecolorallocate( $imagem , 0x00 , 0xFF , 0x00 ); $verdeescuro = @imagecolorallocate( $imagem , 0x00 , 0x80 , 0x00 ); $vermelhoescuro = @imagecolorallocate( $imagem , 0x80 , 0x00 , 0x00 ); // Desenhar linhas aleatórias for ( $i = 0 ; $i < 3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $vermelhoescuro ); for ( $i = 0 ; $i < 3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verdeescuro ); for ( $i = 0 ; $i < 3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verde ); // Escrever palavra-passe aleatória for ( $i = 0 ; $i < 4 ; $i ++) @imagestring( $imagem , 6 , 32 + 10 * $i , 32 +rand(- 5 , 5 ),rand( 1 , 9 ), $azulescuro ); // Rotacionar a imagem $imagem = @imagerotate( $imagem , 10 , $branco ); // Finalização da imagem @imagepng( $imagem ); ?>