Programação Web Professor Nícolas Trigo 1 PHP



Documentos relacionados
UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

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

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

Inserindo e Listando registros

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

Curso PHP Aula 08. Bruno Falcão

Programação Web Prof. Wladimir

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Criação Pagina PHP & MySQL

PHP INTEGRAÇÃO COM MYSQL PARTE 2

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

PHP e MySQL Autenticação de Usuários

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

Aula de JavaScript 05/03/10

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

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

Incorporando JavaScript em HTML

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Programação Web Prof. Wladimir

Prova de pré-requisito

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

LINGUAGEM DE PROGRAMAÇÃO WEB

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

DESENVOLVIMENTO DE SOFTWARE

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Laboratório de Banco de Dados II Aula 1. Stored Procedures

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Bem vindo Joe Ramone!

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

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

INTRODUÇÃO À LINGUAGEM C++

Treinamento em PHP. Aula 7. Ari Stopassola Junior

Disciplina: Unidade V: Prof.: Período:

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

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Linguagem de. Aula 06. Profa Cristiane Koehler

TECNOLOGIA WEG II PHP com SGBD MYSQL

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

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha

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

PHP (PHP Hypertext Preprocessor)

HTML Básico Formulários. Matheus Meira

TUTORIAL DO ASSISTENTE VIRTUAL (QUICK START)

Modelo Cliente/Servidor Por HIARLY ALVES

Programação Web Prof. Wladimir

Guia de Integração para Pagamento Fácil (Cartão de Débito Bradesco)

13 Conectando PHP com MySQL 13.1 Introdução

Desenvolvendo Websites com PHP

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

Guia do Usuário. idocs Content Server v

ETEC Dr. Emílio Hernandez Aguilar. Manual Simplificado: MySQL

JavaScript (ou JScript)

IMPRESSÃO DE DADOS VARIÁVEIS usando Adobe InDesign e OpenOffice.org

Passo-a-passo Oi Torpedo Empresa

MANUAL WEBDRIVE. webdrive.whirlpool.com.br

Internet e Programação Web

TUTORIAL DE CRIAÇÃO DE BANCO DE DADOS ESPACIAL

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

Controle de acesso. .com.br

Manual de Instalação SIM/SINASC

Programação para web JavaScript

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Bem-vindo ao tópico sobre consultas no SAP Business One.

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV

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

Introdução ao PHP. Prof. Késsia Marchi

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

Manipulando Strings no VBA (Replace, Mid e InStr)

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

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

MANUAL DA SECRETARIA

Usando o Conference Manager do Microsoft Outlook

Introdução ao HTML Utilizando frames Hospedando seu site na WEB

Conectar diferentes pesquisas na internet por um menu

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

Instalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird.

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

Tutorial Moodle ESDM - professores

Internet e Programação Web

Guia do Aluno. Campo Grande MS

Testando e Comparando Valores

MANUAL DO ANIMAIL Terti Software

9 Comandos condicionais

UNIDADE III JAVA SERVER PAGES

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Jaspe versão 1.2. Manual do usuário Versão em Português

Transcrição:

Programação Web Professor Nícolas Trigo 1 INTRODUÇÃO PHP PHP (uma abreviação recursiva para "PHP: Hypertext Preprocessor") é uma linguagem de programação interpretada, livre e muito utilizada para gerar conteúdo dinâmico na Web. A linguagem surgiu por volta de 1994, como um subconjunto de scripts Perl criados por Rasmus Lerdof, com o nome Personal Home Page Tools. Mais tarde, em 1997, foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, que era na verdade um interpretador de comandos SQL. Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3, que começou a ter forma de uma linguagem de programação. Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos. Atualmente está na versão 5 do PHP. Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. O código PHP fica embutida no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, IRIX e Solaris. Construir uma página dinâmica baseada em bases de dados é simples com PHP, este provê suporte a um grande número de bases de dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird etc, podendo abstrair o banco com a biblioteca ADOdb, entre outras. O PRIMEIRO PROGRAMA EM PHP Vamos criar o Hello World! Primeiro abra um editor de texto simples e salve o arquivo com o nome: hello.php. Depois, insira o código a seguir: <!-- Nome do arquivo: hello.php --> <HEAD><TITLE>Título Hello World</TITLE></HEAD> // Dentro do código PHP echo <P>Hello World!</P><P>Estamos testando </P> ;

Programação Web Professor Nícolas Trigo 2 Indica o início do código do PHP. // Comenta apenas uma linha. Para comentar mais de uma linha, insira /* no início e */ no final. echo Comando de impressão que envia para o navegador seqüências de strings, podendo ser textos e/ou tags HTML; valores de variáveis, até fórmulas matemáticas. Indica a finalização do código do PHP. Após visualizar este arquivo pelo navegador, clique com o botão direito e peça para visualizar o código. Aparecerá o código a seguir: <!-- Nome do arquivo: hello.php --> <HEAD><TITLE>Título Hello World</TITLE></HEAD> <P>Hello World</P> Quando o internauta acessa o site, ele faz uma requisição através do endereço fornecido. O servidor recebe esta requisição, localiza o arquivo e o processa. O ato de processamento corresponde ao envio do cabeçalho mais o código HTML do web site. O internauta não vê o código PHP, somente o código HTML convertido. TIPOS DE DADOS O PHP tem tipagem dinâmica, os valores das variáveis podem ser alterados em qualquer momento durante a execução do algoritmo. Strings corresponde a seqüência de caracteres. A seqüência deve ser demarcada com aspas simples ou aspas duplas. Numéricos corresponde a valores numéricos, podendo ser números inteiros ou números reais (com casas decimais). Quando o programador quiser utilizar uma variável, basta atribuir o que deseja a qualquer variável, pois não existe a identificação do tipo de dado das informações. VARIÁVEIS Não existe declaração de variáveis em PHP, o programador atribui o valor à variável desejada. Para identificar uma variável, esta é iniciada com o símbolo de cifrão, por exemplo: $nome, $Media, $FALTAS. Deixando claro que PHP é case sensitive, maiúscula é diferente de minúscula. Veja o exemplo a seguir.

Programação Web Professor Nícolas Trigo 3 <!-- Nome do arquivo: variaveis.php --> <HEAD><TITLE>Exemplo com variáveis</title></head> $nome = Nícolas Trigo ; $Disciplina = Programação Web ; echo <P>.$nome. é professor da disciplina.$disciplina.!</p> ; Observe que entre as variáveis e strings é inserido o símbolo ponto (. ) que tem a função de concatenar as informações. Quando o programador visualizar o código-fonte do seu navegador aparecerá o código a seguir: <!-- Nome do arquivo: variaveis.php --> <HEAD><TITLE>Exemplo com variáveis</title></head> <P>Nícolas Trigo é professor da disciplina Programação Web!</P> EXPRESSÕES OPERADORES Os principais operadores são: Operadores Aritméticos Operadores de Comparação Operadores Lógicos Operadores de Atribuição Operador Ternário Operadores Aritméticos Operador Função Exemplo + Adição $a + $b Subtração $c 10 * Multiplicação $d * $e / Divisão $f / 3 % Módulo (Resto da divisão) $a % 2

Programação Web Professor Nícolas Trigo 4 Operadores de Comparação Operador var1 == var2 var1!= var2 var1 <> var2 var1 > var2 var1 >= var2 var1 < var2 var1 <= var2 Descrição Verdadeiro se var1 for igual a var2. Verdadeiro se var1 for diferente a var2. Outra forma de aceitar diferente Verdadeiro se var1 for maior do que var2. Verdadeiro se var1 for maior ou igual a var2. Verdadeiro se var1 for menor do que var2. Verdadeiro se var1 for menor ou igual a var2. Operadores Lógicos Operador Descrição var1 AND var2 Verdadeiro se var1 E var2 forem verdadeiros, senão Falso. var1 && var2 Verdadeiro se var1 E var2 forem verdadeiros, senão Falso var1 OR var2 Verdadeiro se var1 OU var2 forem verdadeiros, senão Falso var1 var2 Verdadeiro se var1 OU var2 forem verdadeiros, senão Falso var1 XOR var2 Verdadeiro se somente var1 OU var2 for verdadeiro, senão Falso! var1 Verdadeiro se var1 for Falso. Operadores de Atribuição Operador var1 = var2 var1 += var2 var1 = var2 var1 *= var2 var1 /= var2 var1 %= var2 var1.= var2 Descrição Atribui o valor de var2 em var1. var1 = var1 + var2. var1 = var1 var2. var1 = var1 * var2. var1 = var1 / var2. var1 = var1 % var2. var1 = var1. var2. Operador Ternário Este é um tipo especial de operador. Ele é usado quando você deseja atribuir um entre dois valores de uma variável, dependendo de alguma condição. A sintaxe do operador ternário é mostrada a seguir: $variavel = condicao? expressao1 : expressao2; Se a condicao for verdadeira então a expressao1 é atribuída à $variavel, senão (se a condicao for falsa) expressao2 é atribuída à $variavel.

Programação Web Professor Nícolas Trigo 5 Veja o exemplo a seguir: <!-- Nome do arquivo: operadores.php --> <HEAD> <TITLE>Exemplo com expressões e operadores</title> </HEAD> $a = 10; $b = 5; echo $a + $b. "<BR>"; echo $a - $b. "<BR>"; echo $a * $b. "<BR>"; echo $a / $b. "<BR>"; echo $a % $b. "<BR>"; $c = ($a == $b)?($a - $b):($a + $b); echo $c; ARRAYS (VETORES E MATRIZES) Semelhante às variáveis, não declara os arrays, simplesmente atribui os valores identificando em qual variável array e o seu índice. Não existe limite, pode ir acrescentando o quanto desejar.existem duas formas de atribuir valores aos arrays. A primeira é atribuindo diretamente à posição do array. $veta[1] = Francisco de Souza ; $veta[2] = 100.50 Não foi erro! Em PHP é aceitável inserir dados de tipos diversos em um mesmo array. A outra forma é através do seguinte comando: $veta = array( Francisco de Souza,100.50); ESTRUTURAS DE SELEÇÃO IF Existem duas estruturas de seleção em PHP: if e switch. A estrutura do if pode ser: if(condição) <comando>; Veja o exemplo: if(condição){ if(condição){ else{ if(condição1){ elseif(condição2){ else{

Programação Web Professor Nícolas Trigo 6 <!-- Nome do arquivo: est-if.php --> <HEAD><TITLE>Exemplo com Estrutura de Seleção IF</TITLE></HEAD> $a = 10; if($a % 2 == 0){ echo $a. é um número par! ; else{ echo $a. é um número ímpar! ; SWITCH A estrutura SWITCH é montada da seguinte forma: switch(variavel){ case valor1: break; case valor2: break;... case valorn: break; default: break; Veja o exemplo: <!-- Nome do arquivo: est-switch.php --> <HEAD><TITLE>Exemplo com Estrutura de Seleção SWICTH</TITLE></HEAD> $turno = 3; switch($turno){ case 1: echo O turno.$turno. é manhã! ; break; case 2: echo O turno.$turno. é tarde! ; break; case 3: echo O turno.$turno. é noite! ; break; default: echo O valor da variável turno inválido! ; break;

Programação Web Professor Nícolas Trigo 7 ESTRUTURAS DE REPETIÇÃO WHILE Existem duas estruturas de repetição consideradas as principais em PHP: while e for. A estrutura WHILE é montada da seguinte forma: while(condição){ Veja o exemplo: <!-- Nome do arquivo: est-while.php --> <HEAD><TITLE>Exemplo com Estrutura de Repetição WHILE</TITLE></HEAD> $contador = 1; while ($contador <= 100){ echo <P>O valor da variável contador é.$contador.!</p> ; $contador++; FOR A estrutura FOR é montada da seguinte forma: for(inicialização; condição; operação){ Sabendo que a inicialização é a atribuição do valor inicial à variável de controle, a condição é a definição do limite de repetições e a operação é a ação de incrementar ou decrementar. Veja o exemplo: <!-- Nome do arquivo: est-for.php --> <HEAD><TITLE>Exemplo com Estrutura de Repetição FOR</TITLE></HEAD> for($contador = 1; $contador <= 100; $contador++){ echo <P>O valor da variável contador é.$contador.!</p> ;

Programação Web Professor Nícolas Trigo 8 ALGUNS RECURSOS Alguns recursos serão vistos de forma bem rápida nesta seção. date() Formata a data e a hora local date( string de caracteres de formação ); Os seguintes caracteres são os principais parâmetros para date. Caracteres de formação Descrição Exemplo de valores retornados d Dia do mês, 2 dígitos com zero na frente 01 to 31 D Uma representação textual de um dia, três letras. Mon through Sun F Uma representação textual de um mês, tal como janeiro ou January a December Março g 12 horas no formato de hora sem zero na frente 1 a 12 G 24 horas no formato de hora sem zero na frente 0 a 23 h 12 horas no formato de hora com zero na frente 01 a 12 H 24 horas no formato de hora com zero na frente 00 a 23 i Minutos com zero na frente 00 para 59 j Dia do mês sem zero na frente 1 to 31 l Uma representação completa textual de um dia da semana. Sunday a Saturday ('L' minúsculo) L Se ano é bissexto. 1 ano bissexto, 0 ano não bissexto. m Representação numérica de um mês, com zero na frente. 01 a 12 M Uma representação textual curta de um mês, três letras. Jan a Dec n Representação numérica de um mês, sem zero na frente. 1 a 12 s Segundos, com zero na frente. 00 a 59 t Número de dias do dado mês 28 a 31 w Representação numérica do dia da semana 0 (para Domingo) a 6 (para Sábado) Y Uma representação completa do ano, 4 dígitos Examples: 1999 ou 2003 y Representação do ano em dois dígitos Examples: 99 ou 03 z O dia do ano (começando de 0) 0 a 365 Veja o exemplo: <!-- Nome do arquivo: data.php --> <HEAD><TITLE>Exemplo com o comando DATE</TITLE></HEAD> echo "<P>Data: <B>".date('D/m/Y')."</B></P>"; echo "<P>Outra Data: <B>".date('d \d\e F \de Y')."</B></P>"; echo "<P>Hora: <B>".date('G \h i \m\i\n s \s')."</b></p>"; echo "<P>Dia da Semana: <B>".date('M')."</B></P>";

Programação Web Professor Nícolas Trigo 9 include() e require() include( caminho até o arquivo desejado ); require( caminho até o arquivo desejado ); A instrução include() inclui e avalia o arquivo informado. A instrução require() tem a mesma função do include(), mas difere do primeiro quando se trata de manipulação de erros. Quando gera um erro na include(), mostra um Warning (Aviso), informando alguma falha e continua a processar o documento web. Já na require(), quando gera um erro, este é tratado como Fatal Error, interrompendo o processamento do documento web a partir de sua posição. Quando um arquivo2 é incluído em arquivo1, o seu código entra no escopo de variável da linha do arquivo1. Qualquer variável disponível da linha do arquivo2 estará disponível para o arquivo1, daquele ponto em diante, Observe a figura a seguir. Veja o exemplo: Arquivo1 include(arquivo2) Continuação do Arquivo1 <!-- Nome do arquivo: arquivo1.php --> <HEAD><TITLE>Exemplo com os comandos INCLUDE e REQUIRE</TITLE></HEAD> echo "<P><B>TÍTULO</B></P>"; echo "<HR>"; include( arquivo2.php ); echo "<HR>"; require( arquivo3.php ); echo "<HR>"; echo "<P><B>Finalizando Documento.</B></P>"; PASSANDO PARÂMETROS PELOS MÉTODOS GET E POST Relembrando os métodos GET e POST. GET Método que solicita ao servidor o envio de um recurso; é o serviço essencial para o protocolo. O resultado do recurso é retornado através do URI. Por exemplo: http://www.google.com.br/imghp? hl=pt-br&tab=wi&q= Observe as substrings em negrito da URL acima. Os termos hl, tab e q são variáveis que passam informações de um documento para outro através do método GET. Observe que os valor de hl é pt-br, o valor de tab é wi e q não tem valor. hl=pt-br tab=wi q=

Programação Web Professor Nícolas Trigo 10 POST Método que permite que o cliente envie mensagens e conteúdo de formulários para servidores que irão manipular a informação de maneira adequada. O método POST não deixa visíveis as variáveis com seus valores como age o método GET. O POST é o melhor método para transição de informações confidenciais. Em PHP, os métodos GET e POST são identificados como arrays. Variáveis HTTP GET: $_GET Contém um array associativo de variáveis passadas para o script atual através do método HTTP GET. Esta é uma variável automaticamente global. Isto significa que ela é disponível em todos os níveis de um script. Você não precisa fazer um global $_GET. Variáveis HTTP POST: $_POST Contém um array associativo de variáveis passadas para o script atual através do método HTTP POST. Esta é uma variável automaticamente global. Isto significa que ela é disponível em todos os níveis de um script. <!-- Arquivo: emissor.php --> <HEAD><TITLE>Exemplo com Métodos GET e POST</TITLE></HEAD> <FORM METHOD="POST" ACTION="recebeMetodo.php"> <P>ENVIAR NOME PELO MÉTODO POST: <INPUT TYPE="text" NAME="nome"> <INPUT TYPE="submit" name="enviar" value="enviar Informação"></P> </FORM> <FORM METHOD="GET" ACTION="recebeMetodo.php"> <P>ENVIAR NOME PELO MÉTODO GET: <INPUT TYPE="text" NAME="nome"> <INPUT TYPE="submit" name="enviar" value="enviar Informação"></P> </FORM> <P><A HREF="recebeMetodo.php?nome=Nícolas Trigo">ENVIAR NOME DEFINIDO PELO MÉTODO GET</A></P> <!-- Arquivo: recebemetodo --> echo "<P>NOME ENVIADO PELO MÉTODO POST: ".$_POST['nome']."!</P>"; echo "<P>NOME ENVIADO PELO MÉTODO GET: ".$_GET['nome']."!</P>";

Programação Web Professor Nícolas Trigo 11 ACESSO A BANCO DE DADOS MYSQL Antes de começar a trabalhar MySQL com PHP, vamos deixar claro os principais comandos que montam as Query s SQL. Observações: Em PHP, as query s SQL não tem ponto-e-vírgula ( ; ). O que estiver entre colchetes é opcional. Os tipos de dados e informações extras encontram-se no PHPMyAdmin. CREATE Pode criar banco de dados e/ou tabela. CREATE DATABASE <nome_bd> CREATE TABLE <nome_tabela> (campo1 tipo extras,campo2 tipo extras,...,campon tipo extras) Por exemplo: CREATE DATABASE AGENDA CREATE TABLE USUARIO( codigo smallint NOT NULL auto_increment PRIMARY KEY, nome varchar(75) NOT NULL, email varchar(75) NOT NULL, senha varchar(35) NOT NULL, observacao TEXT ) CREATE TABLE TELEFONE( codigo smallint NOT NULL auto_increment PRIMARY KEY, codigousuario smallint NOT NULL, tipo varchar(15) NOT NULL, numero varchar(12) NOT NULL, ramal varchar(5) ) O MySQL tem suporte a FOREIGN KEY (Chave estrangeira) a partir da versão 4 e o PHPTriad utiliza a versão 3.23.47, por isso será visto uma condição na subseção SELECT como relacionar uma chave estrangeira TELEFONE.codusuario com a chave primário USUARIO.codigo.

Programação Web Professor Nícolas Trigo 12 DROP Apaga tabela e/ou banco de dados. DROP TABLE <nome_tabela> DROP DATABASE <nome_bd> Por exemplo: DROP TABLE USUARIO, TELEFONE DROP DATABASE AGENDA INSERT Insere dados em uma tabela. INSERT INTO <nome_tabela> [(campo1,campo2,...,campon)] VALUES ( valor do campo 1, valor do campo 2,..., valor do campo N ) Por exemplo: INSERT INTO USUARIO (codigo,nome,email,senha,observacao) VALUES (, Fulano Beltrano de Tal, fulanobt@yahoo.com.br, 12345, Qualquer coisa ) UPDATE Atualiza dados em uma tabela. UPDATE <nome_tabela> SET campo1= valor 1,campo2= valor2,...,campon= valor N [WHERE <condições>] Por exemplo: UPDATE USUARIO SET senha=md5( 12345 ),observacao= Pode ser qualquer coisa! WHERE codigo= 1 DELETE Apaga registros em uma tabela. DELETE FROM <nome_tabela> [WHERE <condições>] Por exemplo: DELETE FROM USUARIO WHERE codigo= 1

Programação Web Professor Nícolas Trigo 13 SELECT SELECT <campos> FROM <nome_tabela> [WHERE <condições separadas por OR e/ou AND> ORDER BY <campo> ASC(Crescente) DESC(Decrescente)] Por exemplo: SELECT * FROM USUARIO /*Busca todos os dados da tabela USUARIO*/ SELECT USUARIO.nome, TELEFONE.tipo, TELEFONE.numero FROM USUARIO, TELEFONE WHERE USUARIO.codigo=TELEFONE.codigousuario /*Busca todos os nomes relacionados com os tipos e números de telefones*/ SELECT USUARIO.nome, TELEFONE.tipo, TELEFONE.numero FROM USUARIO, TELEFONE WHERE USUARIO.codigo=TELEFONE.codigousuario ORDER BY USUARIO.nome DESC /*Busca todos os nomes relacionados com os tipos e números de telefones em ordem decrescente por nome*/ SELECT USUARIO.nome, TELEFONE.tipo, TELEFONE.numero FROM USUARIO, TELEFONE WHERE USUARIO.codigo=TELEFONE.codigousuario AND USUARIO.nome LIKE %Silva% /*Busca todos os nomes que contenham a substring Silva relacionados com os tipos e números de seus telefones*/ Segue abaixo a tabela contendo os operadores de strings para as Query s SQL. OPERADOR DESCRIÇÃO LIKE A% Começa com a letra A. LIKE %A Termina com a letra A. LIKE %A% Tenha a letra A em qualquer posição. LIKE A%B Começa com a letra A e termina com a letra B. NOT LIKE A% Não começa com a letra A Para conectar com o Gerenciador de Banco de Dados deve ser utilizado o seguinte comando: $id = mysql_connect( URL, usuariobd, senhausuario ) or die(mysql_error()); Se a URL (Ex.: localhost), usuariobd (nome do usuário do MySQL) e senhausuario (senha do usuário do MySQL) estiverem corretas o comando mysql_connect retorna TRUE para a variável $id, senão imprime a mensagem de erro através do comando mysql_error(). Depois de conectar ao Gerenciador, deve-se selecionar qual banco de dados deseja ter acesso. Para selecionar um Banco de Dados deve ser usar o seguinte comando: mysql_select_db( NomeBD,$id) or die(mysql_error()); Se o nomebd (nome do banco de dados) estiver correto e a variável $id estiver com status de conexão feita (conexão com o Gerenciador do BD estiver funcionando corretamente) então o nomebd será

Programação Web Professor Nícolas Trigo 14 o banco de dados ativo para acesso às informações, senão imprime a mensagem de erro através do comando mysql_error(). Depois de selecionar um banco de dados, o desenvolvedor está liberado para acessar as informações armazenadas neste banco de dados. Para ter acesso às informações deve usar o seguinte comando: $resultado = mysql_query( Query SQL ) or die(mysql_error()); Se a Query SQL (usando, por exemplo, INSERT, SELECT, etc.) estiver correta então o comando mysql_query armazena na variável $resultado uma ligação com o resultado da consulta gerada pela Query SQL, senão imprime a mensagem de erro através do comando mysql_error(). Os comandos a seguir indicam a quantidade de linhas afetadas pelo comando anterior do MySQL. mysql_affected_rows(); mysql_num_rows($resultado); O mysql_affected_rows() afeta os comandos SQL INSERT, DELETE e UPDATE, o mysql_num_rows( Identificador que liga a aplicação com o resultado da Query SQL ) afeta o comando SQL SELECT. Após enviar um SELECT pelo mysql_query, retornará uma linha de registro para manipular as suas informações, que deverá usar o seguinte comando: $dados = mysql_fetch_row($resultado); tabela. A variável $dados será um array, iniciando o índice por 0 (zero) e seguindo a ordem dos campos da Existe um pequeno problema para o comando anterior. Ele só captura uma linha. E se precisar de mais de uma linha? Para atender a esta necessidade deve-se usar o seguinte comando: $dados[ linha ] = mysql_result($resultado, linha, IDCAMPO ); A variável $dados será um array controlado pela variável linha (o mesmo utilizado pelas estruturas de repetição que identificará a linha do registro). No comando mysql_result tem o identificador do comando mysql_query, seguido pelo número da linha e finalizando com o IDCAMPO, que pode ser o nome do campo na tabela ou o número de ordenação do campo na tabela. Veja o exemplo: <? $local = 'localhost'; $user = 'root'; $passwd = ''; $id = mysql_connect($local,$user,$passwd) or die(mysql_error()); $db = 'AGENDA'; mysql_select_db($db,$id) or die(mysql_error()); $resultado = mysql_query("select * FROM USUARIO") or die(mysql_error()); $linhas = mysql_num_rows($resultado); $usuario = mysql_fetch_row($resultado);

Programação Web Professor Nícolas Trigo 15 for($i=0; $i<count($usuario); $i++){ echo " - ".$usuario[$i]; echo "<hr>"; for($i=0; $i<$linhas; $i++){ $codigo[$i] = mysql_result($resultado,$i,codigo); $nome[$i] = mysql_result($resultado,$i,nome); $email[$i] = mysql_result($resultado,$i,email); $senha[$i] = mysql_result($resultado,$i,senha); $observacao[$i] = mysql_result($resultado,$i,observacao); for($i=0; $i<$linhas; $i++){ echo "<P>".$codigo[$i]." - ".$nome[$i]."<br>".$email[$i]." - ".$senha[$i]."<br>".$observacao[$i]."</p>"; SESSÕES E AUTENTICAÇÃO Sessão Sessões são usadas para guardar dados enquanto a janela do browser estiver aberta. São geralmente usadas para manter dados como nome do usuário, tipo do usuário (se é o administrador ou se é um visitante não cadastrado, por exemplo), entre outros dados importantes. Dica: NUNCA COLOQUE A SENHA NA SESSÃO. VOCÊ SÓ PRECISA DELA PARA AUTENTICAÇÃO! Para iniciar uma sessão no PHP usamos a função: session_start(); Se quisermos destruir a sessão (no caso de o usuário ter feito logoff), usamos a função: session_destroy(); Agora precisamos apenas setar os valores que ficarão na sessão. No PHP os valores são armazenados em um vetor associativo chamado $_SESSION. As associações são feitas com pares chave e valor. Por exemplo, vamos setar o nome do usuário e a permissão dele, e colocar esses dados na seção. Vamos buscar esses dados a partir de um formulário fictício, via POST. //iniciamos a sessão session_start(); //colocamos o usuário na sessão. $_SESSION['usuario'] = $_POST['usuario']; //da mesma forma setamos outras informações necessárias. $_SESSION['qualquer_coisa'] = $_POST['qualquer_coisa']; //Redirecionamos para a pagina principal. echo <meta http-equiv=\ refresh\ content= \ 0;url= principal.php \ > ; Com isso feito, podemos acessar as variáveis da sessão de qualquer lugar da nossa aplicação através do vetor $_SESSION.

Programação Web Professor Nícolas Trigo 16 Para verificar se as informações se encontram na sessão, use seguinte comando: session_is_registered('nome da variável na sessão') Se retornar 1 é porque a variável está registrada na sessão, senão retorna 0 (zero). Caso tenha algum problema com o comando anterior, use o seguinte: isset($_session['nome da variável na sessão']) Se retornar true é porque a variável foi iniciada. A sugestão é que utilize o comando isset(), em vez do session_is_registered(). Autenticação e Segurança: Veja o exemplo abaixo de uma pequena aplicação com sessão. CREATE TABLE usuario ( codigo smallint(6) NOT NULL auto_increment PRIMARY KEY, nome varchar(75) NOT NULL, email varchar(75) NOT NULL, senha varchar(15) NOT NULL, ) INSERT INTO usuario VALUES ('', 'João Paulo Santos', 'joao@hotmail.com', '123'); <!-- Arquivo: index.php <HEAD> <TITLE> Login </TITLE> </HEAD> <FORM METHOD=POST ACTION="autentica.php"> <P>Login: <INPUT TYPE="text" NAME="login"></P> <P>Senha: <INPUT TYPE="password" NAME="senha"></P> <P><INPUT TYPE="submit" value="acessar"></p> </FORM> <!-- Arquivo: autentica.php --> $path = "localhost"; $user = "<nome do usuário do BD>"; $pswd = "<senha do usuário do BD >"; $db = "<nome do BD>"; $id = mysql_connect($path,$user,$pswd) or die(mysql_error()); mysql_select_db($db,$id) or die(mysql_error()); $query = "SELECT * FROM USUARIO WHERE email='".$_post['login']."' AND senha='".$_post['senha']."'"; $resultado = mysql_query($query) or die(mysql_error()); $dados = mysql_fetch_array($resultado); $linhas = mysql_num_rows($resultado); if($linhas == 1){

Programação Web Professor Nícolas Trigo 17 session_start(); $_SESSION['codigo'] = $dados[0]; $_SESSION['nome'] = $dados[1]; $_SESSION['email'] = $dados[2]; echo "<meta http-equiv=\"refresh\" content=\"0;url='principal.php'\">"; else{ echo "<meta http-equiv=\"refresh\" content=\"0;url='index.php'\">"; <!-- Arquivo: principal.php --> session_start(); if(isset($_session['email'])){ echo "<P>Olá ".$_SESSION['nome']."!</P>"; echo "<P>O seu login é ".$_SESSION['email']."!</P>"; echo "<P><A HREF= principal2.php >Principal2</A></P>"; echo "<P><A HREF=\"logoff.php\">Fechar Sessão</A></P>"; else{ echo "<P>SEM SESSÃO!</P><P><A HREF=\"index.php\">Voltar</A></P>"; <!-- Arquivo: principal2.php --> session_start(); if(isset($_session['email'])){ echo "<P>Olá ".$_SESSION['nome']."!</P>"; echo "<P>Você ainda continua na sessão!</p>"; echo "<P><A HREF=\"principal.php\">Para voltar para a principal</a></p>"; else{ echo "<P>NÃO EXISTE SESSÃO!</P><P><A HREF=\"index.php\">Voltar</A></P>"; <!-- Arquivo: logoff.php --> session_start(); session_destroy(); echo "<P>Fechando Sessão em 5 segundos...</p>"; echo "<meta http-equiv=\"refresh\" content=\"5;url='index.php'\">"; UPLOAD DE ARQUIVOS Veja a aplicação web exemplo abaixo: <!-- Arquivo: index.php --> <HEAD> <TITLE> New Document </TITLE> </HEAD> <P>UPLOAD DE ARQUIVOS - VISUALIZAÇÃO</P>

Programação Web Professor Nícolas Trigo 18 <hr width="100%" size="1" noshade> <p><a HREF="form.php">Upload</A></p> $dir = 'docs'; $diretorio = opendir($dir); $i = 0; while($arquivo = readdir($diretorio)){ if($arquivo!= "." && $arquivo!= ".."){ $arquivo_array[$i] = $arquivo; $i++; for($j=0; $j<count($arquivo_array); $j++){ echo "<P>".$j." - <A HREF=\"".$dir."/".$arquivo_array[$j]."\">"; echo $arquivo_array[$j]."</a></p>"; <!-- Arquivo: form.php --> <HEAD> <TITLE> Upload de Arquivos </TITLE> </HEAD> <form action="upload.php" method="post" enctype="multipart/form-data"> <P>Envie o seu documento para o site! <input type="file" name="doc"></p> <P><input type="submit" value="enviar Documento!"></P> </form> <!-- Arquivo: upload.php --> $erro = $config = array(); $arquivo = isset($_files["doc"])? $_FILES["doc"] : FALSE; echo "<P>Nome do arquivo: ".$arquivo['name']."!"; if (($arquivo!= FALSE) AND ($arquivo['name']!= "")){ $doc_dir = "docs/".$arquivo['name']; move_uploaded_file($arquivo["tmp_name"], $doc_dir); echo "<P>Seu arquivo foi enviado com sucesso!</p>"; else{ echo "<P>erro</P>"; echo "<P><A HREF=\"index.php\">Voltar</A></P>";