Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Trabalhando com PHP

Documentos relacionados
O que é uma sessão. maneira de preservar dados através de acessos subsequentes.

Programação para Internet

Programação para Internet

Professor Jefferson Chaves Jefferson de Oliveira Chaves

PHP (Seções, Cookies e Banco de Dados)

Programação web Prof. Wladimir

Programação para Internet

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. XML e JSON

C A P I T U L O 4 F O R M U L Á R I O S E V A R I Á V E I S P R É D E F I N I D A S $ _ P O S T E $ _ G E T

BANCO DE DADOS PARA WEB

PROGRAMAÇÃO EM AMBIENTE WEB I

Curso De PHP. Aula 4. Formulários. Cookies. Session. Mail

Professor Jefferson Chaves Jefferson de Oliveira Chaves

Desenvolvimento de Aplicações para Internet Aula 6

PHP e MySQL Autenticação de Usuários

Autoria Web. Professor: Diego Oliveira. Conteúdo 03: Tags de Formulário

INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT

Informática I. Aula 8. Aula 8-19/09/2007 1

Linguagem de Programação III Aula 2 Revisão Parte II

Programação para web HTML: Formulários

Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)

TRABALHO FINAL 20 Pontos

Formulários. Objetivo Controles Métodos Linhas de Edição

Formulários [8] Desenvolvimento e Design de. Websites. Prof.: Ari Oliveira

Procedimentos para configuração do DVG-2001S para operadora Vono

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

- os dados entrados fazem parte do corpo da mensagem enviada para o servidor; - transfere grande quantidade de dados.

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Desenvolvimento Web TCC Turma A-1

Autoria Web. Formulários Aula 5. Cleverton Hentz

LINGUAGEM DE PROGRAMAÇÃO WEB

1. Sintaxe Básica O interpretador reconhece automaticamente scripts php delimitados da seguinte maneira: <? // código em php?> OU <?

Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

PHP INTEGRAÇÃO COM MYSQL PARTE 2

Web Design Aula 10: Formulários - Parte2

HyperText Markup Language HTML. Formulário

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes

Procedimentos para configuração do DVG-2001S para operadora UOL

Formulário (Send & Recieve) Prof. Celso H. Masotti

Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner

C A P I T U L O 5 C O M A N D O D E F L U X O

Programando em PHP. Conceitos Básicos

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

HTML. Leonardo Gresta Paulino Murta

A área de um formulário, na codificação HTML da página, é delimitada pelo par de marcadores <FORM> e </FORM>.

Desenvolvimento de Sistemas para WEB Site:

Como criar um banco de dados usando o mysql

0,5 pelo negrito das palavras ID, Nome, e Analisar em outro momento.

Laboratório de Sistemas e Serviços Web

C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros

Prof. Esp. Andrew Rodrigues 1

FORMULÁRIOS HTML (FORMS) E ENTRADAS DE DADOS (INPUT)

Continuação de Estruturas de controle. Foreach

Curso de HTML aula 4. Sumário. 1 Formulários. 1.1 Construindo formulários com o FORM. 1.2 Método:

Linguagem de. Aula 06. Profa Cristiane Koehler

Curso de PHP. FATEC - Jundiaí

Os componentes de um formulário são: Form, Input, Select e AreaText

Redes de Computadores

Introdução à linguagem HTML. Volnys Borges Bernal

Java para WEB com Struts 2 e Hibernate

Desenvolvimento de Aplicações para Internet Aula 5

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO

13 Conectando PHP com MySQL 13.1 Introdução

INTRODUÇÃO AO DESENVOLVIMENTO WEB

Internet e Programação Web

Sessão e inclusão de arquivos no PHP

Apostila - Desenvolvimento web com PHP

SIMULADOS & TUTORIAIS

LAB 7 Cookies e Sessões em PHP

Formulários são áreas onde se inserem campos que permitem uma troca de informações maior entre usuários e desenvolvedores de sites HTML Até o momento,

Conteúdo. Especificação HTTP v1.1

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Desenvolvimento Web II

Web Design Aula 09: Formulários

Procedimentos para configuração de WDS With AP

PHP: Cookies e Sessões

Centralx Clinic Cloud

Volnys Bernal. Introdução à linguagem HTML. Introdução à linguagem HTML. Visão geral. Visão geral. Visão geral. Visão geral.

PRO2511. MySQL databases Parte III. Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de Produção

PHP. Hypertext Pre-Processor

Redes de Computadores

Bases de Dados. Lab 7: Desenvolvimento de aplicações com PHP

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

Manual de gestão de conteúdo dos sites da UFOB Joomla! 3. Guia de uso do Joomla! 3 - plataforma de gestão de conteúdo dos sites da UFOB

PROGRAMAÇÃO EM AMBIENTE WEB I

TUTORIAL: Como configurar no Outlook 2007

TECNOLOGIA WEG II PHP com SGBD MYSQL

Lidando com Armazenamento de Dados

HTML Parte III. André Tavares da Silva.

AJAX. Prof. Marcos Alexandruk

TECNOLOGIA WEG II PHP com SGBD MYSQL:

Programação Web Prof. Wladimir

HTML BÁSICO E TEMPLATE VIEW. Gabrielle Amorim Porto

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec

Transcrição:

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Trabalhando com PHP Desenvolvimento de Sistemas para WEB Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Formulários

Formulários: HTML PHP Cliente Possui a página HTML com o formulário. Envia as informações ao servidor Servidor Possui a página que receberá as informações do formulário Processa as informações do formulário. Gera a resposta Fornece a resposta para o Cliente 3

Formulários HTML Formulários HTML são utilizados para enviar dados para o servidor. Eles podem conter muitos campos, como: Texto; Checkboxes; Listas de seleção; etc.; A tag utilizada é a form: <form> elementos de entrada </form> 4

Formulários HTML Os principais campos são: Text; Password; Checkbox; Botões Radio; Botão Submit. Vamos trabalhar com todos esses campos daqui a pouco. 5

Formulários HTML Os principais atributos dos formulários são: action: especifica onde enviar os dados quando um formulário é submetido; method: especifica o método HTTP que será utilizado para enviar o formulário; name: especifica o nome do formulário Mais atributos em: <http://www.w3schools.com/tags/tag_form.asp> Exemplo: <form action="destino.php" method="get" name="fnome"> Primeiro nome: <input type="text" name="pnome"><br> Último nome: <input type="text" name="unome"><br> <input type="submit" value="enviar"> </form> 6

Métodos de envio GET: Anexa os dados do formulário na URL em pares de nome/valor. Ex: http://jeiks.net/processa.php?nome=jeiks&senha=123 Por isso, nunca deve-se usar GET para enviar dados confidenciais! O comprimento de um URL é limitado (cerca de 3000 caracteres); Útil para submissões simples. GET é melhor para dados que não precisam de proteção. POST: Anexa os dados do formulário dentro do corpo da solicitação HTTP (os dados não são mostrados na URL); Não tem limitações de tamanho; POST deve ser utilizado para dados que precisam demais proteção. 7

Recebendo os formulários PHP Para receber os dados do formulário, o PHP possui arrays que são variáveis superglobais: $_POST; $_GET; $_REQUEST; Exemplo: <p>dados obtidos com POST</p> <pre><?php print_r($_post);?></pre> <p>dados obtidos com GET</p> <pre><?php print_r($_get);?></pre> <p>dados obtidos com REQUEST</p> <pre><?php print_r($_request);?></pre> 8

Hora de praticar. Abram e estudem os exemplos disponíveis em: formularios.zip 9

Banco de Dados 10

Banco de Dados HTML e PHP Obtém as informações do banco de dados Envia a requisição ao servidor Servidor Possui a página que receberá a requisição Cliente Possui a página HTML com o formulário. Fornece a resposta para o Cliente 11

Processo de comunicação Ocorre em etapas: 1. Conectar ao banco de dados: $con = mysqli_connect( 2. Efetuar a pesquisa no banco de dados: $query = "SELECT * FROM `tabela`"; "servidor", "usuario", "senha", "nome_do_banco" ); $resposta = mysqli_query( $con, $query ); 3. Percorrer a resposta do banco de dados: while ( $linha = mysqli_fetch_array($resposta) ) echo "<li>($linha[0]) $linha[1]"; 4. Encerrar a conexão ao banco de dados: mysqli_close( $con ) 12

Mão na massa Estudem o exemplo: mysql.php 13

Sessões em PHP

O que é uma sessão Suporte a sessões no PHP: maneira de preservar dados através de acessos subsequentes. Características: permite a criação de aplicações mais personalizadas; permite que certas características do site sejam apresentadas somente aos usuários pertencentes a determinada sessão. É determinada através de uma variável superglobal ($_SESSION) chamada variável de sessão PHP. 15

Variável de sessão PHP É utilizada para Armazenar informações sobre a sessão; Modificar configurações da sessão de um usuário. Armazenar informação sobre um único usuário; Permanecer disponível para todas as páginas de uma aplicação web. Ela trabalha criando uma única identificação (UID) para cada usuário e pode armazenar outras variáveis/informações utilizando essa UID. 16

Sessões Permitem trabalhar como em desktops: Abrir um aplicativo associado a um usuário; Utilizar o aplicativo; Fechar o aplicativo. As sessões permitem armazenar informações sobre o usuário no servidor para utilizar depois. Porém, são temporárias, ou seja, terminam assim que o site é abandonado. 17

Criando uma sessão <?php session_start(); Após criar a sessão, também é necessário utilizar essa instrução para acessar as variáveis que foram declaradas. if( isset( $_SESSION['views'] ) ) $_SESSION['views']++; else $_SESSION['views']=1; echo "Session ID=".session_id()."<br/>"; echo "Visualizacoes=".$_SESSION['views'];?> 18

Destruindo uma sessão Apagando uma variável de sessão: <?php session_start(); if( isset( $_SESSION['views'] ) ) unset( $_SESSION['views'] );?> Destruindo toda a sessão: <?php session_destroy();?> 19

Mãos a obra. Crie o php com o código do slide 18 e execute-o. Após isso, insira mais variáveis e teste sua sessão. 20

Cookies 21

Cookies São formas utilizadas por website para identificar um usuário. Com isso, consegue salvar informações específicas para que este usuário seja tratado de uma forma diferente na próxima vez que entrar no site: Cor de fundo do site; Pesquisas realizadas; Nick utilizado no chat; etc. Assim, na próxima vez que entrar no site, ele abrirá essas variáveis e saberá como tratar sua visita. Geralmente os sites mantém um campo chamado Lembre-se de mim ou Remember Me para isso. 22

Cuidados de segurança Suponha que um cookie possua as seguintes variáveis: Usuario; Nivel_Acesso; Se o usuário modificar o valor do Nivel_Acesso e entrar no site de novo, ele pode se tornar um administrador. Em casos onde a sessão seja gravada no cookie, uma pessoa pode roubar essa informação e acessar a conta da pessoa em outro computador. 23

Criando um cookie setcookie( name, value, expiration, path, domain, secure, httponly ); Name: nome que seu cookie terá no computador do usuário; Value: valor que será armazenado no cookie; Expiration: define quando o cookie vai expirar (ser apagado); Path: O caminho no servidor onde o cookie estará disponível; Domain: O domínio para qual o cookie estará disponível; Secure: Indica que o cookie só poderá ser transmitido sob uma conexão segura HTTPS do cliente; Httponly: Quando for TRUE, o cookie será acessível somente sob o protocolo HTTP. 24

Exemplos <?php $value = 'alguma coisa de algum lugar';?> setcookie("cookieteste", $value); /* expira em 1 hora */ setcookie("cookieteste", $value, time()+3600); /* utilizando caminho e domínio */ setcookie("cookieteste", $value, time()+3600, "/~usuario/", ".exemplo.com", 1); 25

Obtendo os valores do cookie Os valores são obtidos automaticamente. Para acessá-los, basta utilizar a variável $_COOKIE: <?php // Mostra um cookie individual echo $_COOKIE[ "CookieTeste" ]; echo $HTTP_COOKIE_VARS["CookieTeste"]; // Outra maneira de testar é vendo todos os cookies: print_r( $_COOKIE );?> 26

Cookies e Arrays <?php // envia os cookies setcookie("cookie[tres]", "cookie tres"); setcookie("cookie[dois]", "cookie dois"); setcookie("cookie[um]", "cookie um"); // Depois que a página recarregar, mostra eles if ( isset( $_COOKIE["cookie"] ) ) { foreach ($_COOKIE["cookie"] as $nome => $valor ) { echo "$nome : $valor <br />\n"; } }?> 27

Qual utilizar: sessão ou cookies? 28

Qual utilizar: sessão ou cookies? Os cookies são mais fáceis de serem modificados do que as sessões. 29

Exemplo de uma função login Universidade Federal do Espírito Santo CCA UFES function login($username, $password) { $query = "SELECT id, user_level FROM users WHERE ". "password = '$password' AND ". "username = '$username' LIMIT 1"; $sql = mysql_query( $query ); if($sql === false) return false; else { $resp = mysql_fetch_array( $sql ); session_regenerate_id(true); Segurança Lembre-se de tratar as variáveis $username e $password antes de fazer a query. }} $_SESSION['user_id'] = $resp[ 'id' ]; $_SESSION['user_level'] = $resp[ 'user_level' ]; $_SESSION['user_name'] = $username; $_SESSION['user_lastactive'] = time(); return true; 30

Se for utilizar o Lembre-se de mim function login($username, $password, $remember = false)... if($remember) { // Gera uma nova chave de identificação com um cookie $cookie_auth = "algorandomico". $username; $auth_key = sha1( $cookie_auth ); $auth_query = mysql_query( " UPDATE users SET auth_key = '$auth_key' ". " WHERE username = '$username' " ); exp = time()+60*60*24*7; //sete dias após o dia atual setcookie( "auth_key", $auth_key, exp, "/", "exemplo.com", false, true ); } 31

Mãos na massa Crie cookies e utilize-os para gravar informações do seu site. 32