PHP (PHP Hypertext Preprocessor)

Documentos relacionados
Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

LINGUAGEM DE PROGRAMAÇÃO WEB

Linguagem de. Aula 06. Profa Cristiane Koehler

Curso PHP Aula 06. Bruno Falcão

Inserindo e Listando registros

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Tecnologias Web. Formulários HTML

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

Iniciando PHP. Agenda

Enviado dados para o PHP através de formulário

HTML Básico Formulários. Matheus Meira

CentreWare Web e superior Agosto de P Xerox CentreWare Web Identificar e Aplicar o Firmware Patch para Escanear

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

UNIDADE III JAVA SERVER PAGES

Trabalho Computacional 2. Aplicativo para Gestão Financeira. Grupos: Os trabalhos devem ser feitos individualmente ou em duplas.

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

Consultar Dados de Conta

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

Conceitos básicos da linguagem C

Programação: Estruturas de seleção

Calculador de preços e prazos de encomendas

UnionWeb Condominium

Php Adicionar registo AJUDA Posted by k1ll3rwh4l3-2008/05/18 19:43

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Como criar um blog. Será aberta uma janela onde você deverá especificar o título do blog, o endereço do blog, e o modelo.

Manual MQS. Logo após colocar essas informações abrirá a página inicial do sistema:

Mais configuração OptraImage

MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS

Manual Escrituração Fiscal Digital

Incorporando JavaScript em HTML

Desenvolvimento de aplicações Web. Java Server Pages

Captura de Processos Programa Captura. Programa Captura Orientações

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

MANUAL DA SECRETARIA

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti

Ajuda em php + xml + sql Posted by kabonga /07/15 23:56

Criação Pagina PHP & MySQL

Testando e Comparando Valores

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Carregando dados do Banco de Dados MySQL através de uma tag SELECT

Guia Prático. Rastreamento de Carga

PHP e MySQL Autenticação de Usuários

Programação para web JavaScript

Este tutorial ensina a enviar um através de um script PHP, a partir de um interface em Flash.

Modelos de Caso de Administração

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Cálculo Remoto de Preços e Prazos de Encomendas

Seu manual do usuário SONY ERICSSON W890I

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

Treinamento - Union Web

BC0505 Processamento da Informação

2 echo "PHP e outros.";

LASERTECK SOFTECK FC MANUAL DO USUÁRIO

Ferramenta de Gestão de Web Site e Solution Backsite News Letter

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Programação para Internet I

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Manual do usuário Sistema de Ordem de Serviço HMV/OS 5.0

Linguagem de Programação I

Manual do Painel Administrativo

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Manual de Operação. Copyright Todos os direitos reservados.

INF 1007 Programação II

1 Funções básicas de implementação de arquivos

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

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

A pesquisa de termos usando (Espaço) ou &, significa que os dois termos deverão constar no mesmo documento.

COINF. Roteiro de Treinamento 0800Net. Versões e Revisões deste Documento. Índice. 1. Nome do Projeto. 2. Roteiro. Roteiro Treinamento Solicitante

Intel Teach Program Essentials Course. Tutorial para wik.is

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2012

Relatórios Protheus

Guia de Usuário Teclado sensível ao toque TM40

Sistema Integrado CAPES - Programa de Apoio a Eventos no País

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Aplicaça o Formula rio ScriptCase

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Primeiros passos das Planilhas de Obra v2.6

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

JavaScript. Prof. Msc. Juliano Gomes Weber Notas de Aula Aula 12 1º Semestre UNIJUÍ DETEC Ciência da Computação

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD

Manual das planilhas de Obras v2.5

Bacharelado em Ciência e Tecnologia BC Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.

Convertendo Algoritmos para a Linguagem C

Orientações para o uso do webmail da CODEVASF

Manual do Usuário. Protocolo

Personalizações do mysuite

HTML. Sessão 8 HTML. Criação de Páginas WEB. Formulários

Desenvolvimento de Aplicações para Internet Aula 11

Tratamento de Exceções. Alberto Costa Neto DComp - UFS

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO

Transcrição:

PHP (PHP Hypertext Preprocessor) André Tavares da Silva andre.silva@udesc.br

Datas No PHP a função date() é usada para formatar um tempo ou data. string date(string $format [,int $timestamp]) Ex.: echo date("d/m/y"); $amanha = mktime(0,0,0,date("m"),date("d")+1,date("y")); echo "Amanhã será ".date("y-m-d", $amanha); http://br.php.net/manual/pt_br/function.date.php

Includes As funções include() ou require() inserem o conteúdo de um arquivo PHP dentro de outro. As duas funções são idênticas exceto na forma como elas lidam com erros. A função include() gera um aviso (warning) e a página continua a sua execução. Já a função require() gera um erro fatal e a execução do para naquele ponto. <?php include("cabecalho.php");?>

Manipulação de Arquivos A função fopen() abre um arquivo: $file = fopen("arquivo.txt", "r"); A função fclose() fecha um arquivo e feof()checa se o apontador de arquivo está no final. <?php $file = fopen("arquivo.txt","r"); if (feof($file)) echo "End of file"; fclose($file);?>

Manipulação de Arquivos A função fgets() lê uma linha de um arquivo e fgetc() lê um único caractere. <?php $file = fopen("arquivo.txt","r"); if (feof($file)) echo fgets($file); fclose($file);?>

Upload de Arquivos Exemplo de formulário: <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">arquivo:</label> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="enviar" /> </form>

Manipulação de Arquivos O array $_FILES permite acessar os arquivos enviados de um computador cliente para o servidor. A primeira chave do array é o nome do campo no formulário que enviou o arquivo. A segunda chave pode ser "name", "type", "size", "tmp_name" ou "error": $_FILES["file"]["name"] - Nome do arquivo enviado. $_FILES["file"]["type"] - Tipo do arquivo enviado. $_FILES["file"]["size"] - Tamanho em bytes do arquivo. $_FILES["file"]["tmp_name"] - Nome da cópia temporária do arquivo no servidor. $_FILES["file"]["error"] - Código de erro gerado durante o processo de envio.

Manipulação de Arquivos <?php if ($_FILES["file"]["error"] > 0) { echo "Erro: ". $_FILES["file"]["error"]."<br>"; } else { echo "Arquivo enviado: ". $_FILES["file"]["name"]. "<br>"; echo "Tipo: ". $_FILES["file"]["type"]."<br>"; echo "Tamanho: ". ($_FILES["file"]["size"]/1024)." Kb<br>"; echo "Guardado em: ". $_FILES["file"]["tmp_name"]; }?>

Manipulação de Arquivos Exemplo de restrição a upload de arquivos.gif e.jpg de até 30KB: if ((($_FILES["file"]["type"] == "image/gif") ($_FILES["file"]["type"] == "image/jpeg") ($_FILES["file"]["type"] =="image/pjpeg")) && ($_FILES["file"]["size"] < 30000)) {

Manipulação de Arquivos Salvando arquivo em uma pasta arquivos : if(file_exists("arquivos/". $_FILES["file"]["name"])) { } echo $_FILES["file"]["name"]. " já existe."; else { } move_uploaded_file( $_FILES["file"]["tmp_name"], "arquivos/".$_files["file"]["name"]); echo "Guardado em: arquivos/". $_FILES["file"]["name"];

Enviando e-mail A função mail(para, assunto, mensagem, cabeçalhos, parâmetros) envia e-mails: if (isset($_request['email'])) { } $email = $_REQUEST['email'] ; $assunto = $_REQUEST['assunto'] ; $mensagem = $_REQUEST['mensagem'] ; mail("fulano@empresa.com", "Assunto: $assunto", $mensagem, "From: $email" ); echo "Obrigado pela sua mensagem!";

Enviando e-mail A função mail(para, assunto, mensagem, cabeçalhos, parâmetros) envia e-mails: if (isset($_request['email'])) { } $email = $_REQUEST['email'] ; $assunto = $_REQUEST['assunto'] ; $mensagem = $_REQUEST['mensagem'] ; mail("fulano@empresa.com", "Assunto: $assunto", $mensagem, "From: $email" ); echo "Obrigado pela sua mensagem!"; Ver e-mail injection na aula sobre segurança

Tratamento de Exceções O código para lidar com a exceção deve incluir: Try - Uma função que usa uma exceção deve estar dentro de um bloco "try". Se a exceção não acontece, o código irá continuar normalmente. Throw - Esta é a forma como você lança uma exceção. Cada "throw" deve ter pelo menos um "catch". Catch - Um bloco "catch" recebe a exceção que é um objeto contendo informações sobre a exceção.

Tratamento de Exceções O que o PHP suporta além do básico try-catch: Criar classes de exceções customizadas extendendo (por herança) a classe Exception podendo usar métodos como getline(), getfile() e getmessage(); Possibilidade de múltiplas exceções para o mesmo try; É possível lançar uma exceção uma segunda vez dentro do bloco catch. Neste caso, quando uma exceção é lançada, é possível tratá-la de forma diferente do padrão. Um exemplo é relançando uma exceção com uma mensagem de erro mais amigável para o usuário.

Tratamento de Exceções O que o PHP suporta além do básico try-catch: Criar classes de exceções customizadas extendendo (por herança) a classe Exception podendo usar métodos como getline(), getfile() e getmessage(); Possibilidade de múltiplas exceções para o mesmo try; É possível lançar uma exceção uma segunda vez dentro do bloco catch. Neste caso, quando uma exceção é lançada, é possível tratá-la de forma diferente do padrão. Um exemplo é relançando uma exceção com uma mensagem de erro mais amigável para o usuário.

Filtros em PHP Um filtro no PHP é usado para falidar e filtrar dados vindos de fontes inseguras: dados de formulário, cookies, dados de serviços externos, variáveis do servidor, resultados de consultas a bancos de dados. Filtragem de entradas é um dos mais sérios problemas de segurança.

Filtros em PHP filter_var() - Filtra uma única variável com um filtro especificado. filter_var_array() - Filtra várias variáveis com o mesmo ou diferentes filtros filter_input() - Recebe uma variável de input e a filtra. filter_input_array() - Recebe diversas variáveis e as filtra com o mesmo ou diferentes filtros.

Filtros em PHP Existem dois tipos de filtros: Filtros de validação: usados para validar a entrada de usuário, retornando o tipo esperado no sucesso ou FALSE na falha Filtros de limpeza: usados para permitir ou não determinados caracteres em uma string. Sempre retorna a string.

Filtros em PHP - validação Opções e flags são usados para adicionar opções de filtragem nos diferentes filtros. Diferentes filtros têm diferentes opções e flags. Exemplo para validação de número inteiro usando a função filter_var() e as opções "min_range" e "max_range": <?php $var = 300; $int_options = array("options"=>array("min_range"=>0, "max_range"=>256)); if(!filter_var($var,filter_validate_int,$int_options)) { echo("número inteiro válido"); } else { echo("número inteiro inválido"); }?>

Filtros em PHP - limpeza Para limpar uma URL enviada de um formulário: <?php if(!filter_has_var(input_post, "url")) { echo("input type does not exist"); } else { $url = filter_input(input_post, "url", FILTER_SANITIZE_URL); }?>

Filtros em PHP múltiplas entradas <?php $filters = array( "nome" => array("filter"=>filter_sanitize_string), "idade"=> array("filter"=>filter_validate_int, "options"=>array("min_range"=>1, "max_range"=>120)), "email"=> FILTER_VALIDATE_EMAIL); $result = filter_input_array(input_get, $filters); if (!$result["idade"]) { echo("a idade deve estar entre 1 and 120 anos.<br />"); } else if(!$result["email"]) { echo("e-mail não é válido.<br />"); } else { echo("entrada do usuário é válida"); }?>

FILTER_CALLBACK É possível criar uma função e usá-la como filtro através de FILTER_CALLBACK, tendo ainda mais controle sobre a filtragem de dados. Associa-se a função ao elemento "options" em um array. No exemplo, os espaços em branco são substituídos por "_": <?php function convertspace($string) { return str_replace(" ", "_", $string); } $string = "OTES02 Aula15 PHP cont"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertspace"));?>

Tratamento de erros A função exit([string $status]) termina a execução da página, exibindo o valor de $status. die() é um apelido para a exit(). <?php if(!file_exists("hello.txt")) die("arquivo não encontrado"); else $file=fopen("welcome.txt","r");?> <?php $file = fopen("hello.txt", 'r') or exit("hello.txt não encontrado");?>

Tratamento de erros Também é possível fazer em PHP: Criar um tratador de erros customizado error_function(error_level,error_message [,error_file[,error_line[,error_context]]]) Modificar o tratador de erros para funcionar para apenas alguns erros a fim de tratá-los diferentemente; Enviar log de erros para um arquivo especificado ou para um destino remoto (e-mail, por exemplo), usando a função error_log(). O padrão do PHP é enviar o log de erros para o sistema do servidor ou para um arquivo configurado no arquivo "php.ini".