SlideShare une entreprise Scribd logo
1  sur  62
Mas O que é PHP?
Php é uma linguagem de programação desenvolvida para gerar páginas da Web interativamentecom o servidor
Mas cOmo surgiu o PHP?
[object Object]
Depois esses scripts foram passados para C, dando muito mais potencial ao PHP
Disponibilizou o seu código para que pudessem ver e usá-lo1994
[object Object]
Lançamento da 3º Versão do PHP
Forte capacidade de extensibilidade
Assemelha-se a verão atual1994 1998
[object Object]
Características-chave:
 Sessões HTTP
Maneiras mais seguras de manipular input dos usuários1994 1998 1999
[object Object],1994 1998 1999 2004
1. HelloWorld
1. HelloWorld <html> <head> 	<title> Hello World </title> </head>	 <body> <?php 	$frase = “Hello World ”; 	$apresentacao = “meu nome é Fulano e tenho ”; 	$idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html>
1. HelloWord <html> <head> 	<title> Hello Word </title> </head>	 <body> <?php 	$frase = “Hello Word ”; 	$apresentacao = “meu nome é Fulano e tenho ”; 	$idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Uma variável é definida colocando-se o símbolo $
1. HelloWord <html> <head> 	<title> Hello Word </title> </head>	 <body> <?php 	$frase = “Hello Word ”; 	$apresentacao = “meu nome é Fulano e tenho ”; 	$idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Uma variável pode representar qualquer tipo de dado
1. HelloWord <html> <head> 	<title> Hello Word </title> </head>	 <body> <?php 	$frase = “Hello Word ”; 	$apresentacao = “meu nome é Fulano e tenho ”; 	$idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Exibe strings na tela
1. HelloWord <html> <head> 	<title> Hello Word </title> </head>	 <body> <?php 	$frase = “Hello Word ”; 	$apresentacao = “meu nome é Fulano e tenho ”; 	$idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Operador “.” concatena Strings
Hora de Colocar a mão na massa!
2. Formulários
Conheça o SenhorJoaquim
Formulários > História do Sr. Joaquim Esse é o senhor Joaquim, grande empresário de roupas de Brasília. Para controlar a sua loja ele precisa que você construa um pequeno sistema no qual ele possa cadastrar as roupas que chegam de seus fornecedores
Formulários > Exercício Para cadastrar uma roupa ele precisa dos seguintes dados: ,[object Object]
Marca
Tipo de roupa
Blusa
Calça
Moleton
Calção
Saia
Quantidade
 Precisa o tamanho das peçasConstrua um formulário que atenda a esse pedido!
E como eu vou armazenar esses dados?
3. Banco de Dados
Banco de dados > Definição Um banco de dados é um conjunto de dados que se relacionam mutuamente e estão inseridos em determinado contexto.
Banco de dados > Definição O banco de dados que utilizaremos durante o curso será o MySQL, que possui uma interface muito boa com o PHP.
Banco de dados > Conexão “Comofas” pra se comunicarem?
Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 4 1 2 3 O endereço do Host
Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 2 3 4 1 Nome do Banco de Dados
Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 4 2 3 1 Nome do usuário
Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 1 2 3 4 A senha
Banco de dados > Conexão Para fazer isso no PHP: <?php 	$db_host = ‘nome do host do servidor’; 	$db_name = ‘nome do banco de dados’; 	$db_username = ‘nome do usuário’; 	$db_password = ‘password’; ?> Jogue os dados necessários em variáveis
Banco de dados > Conexão Para fazer isso no PHP: <?php 	$db_host = ‘nome do host do servidor’; 	$db_database= ‘nome do banco de dados’; 	$db_username = ‘nome do usuário’; 	$db_password = ‘password’; 	$connection = mysql_connect ($db_host, $db_username, $db_password); if (!connection) { die (“Não foi possível conectar com o BD: </br>”.mysql_error()); 	} ?>
Banco de dados > Conexão Para fazer isso no PHP: <?php 	$db_host = ‘nome do host do servidor’; 	$db_database = ‘nome do banco de dados’; 	$db_username = ‘nome do usuário’; 	$db_password = ‘password’; 	$connection = mysql_connect ($db_host, $db_username, $db_password); if (!$connection) { die (“Não foi possível conectar com o BD: </br>”.mysql_error()); 	} 	$db_select = mysql_select_db ($db_database, $connection),; ?>
Banco de dados > Conexão Para fazer isso no PHP: <?php 	... 	$connection = mysql_connect ($db_host, $db_username, $db_password); if (!$connection) { die (“Não foi possível conectar com o BD: </br>”.mysql_error()); 	} 	$db_select = mysql_select_db ($db_database, $connection); if (!$db_select) { die (“Não foi possível selecionar o BD:</br>”.mysql_error()); 	} ?>
Banco de dados > Exercício 1 Vamos criar uma conexão com o banco de dados para o senhor Joaquim!
E agora?
Banco de dados > Criando o BD Vamos criar nosso banco de dados utilizando o PHPMyAdmin: “O PHP MyAdmin é uma ferramenta que te permite administrar o seu banco de  dados MySQL através do seu browser. Tudo o que ele exige é um servidor web com PHP instalado e um banco de dados MySQL pra adminstrar” 					(Aprendendo PHP e MySQL,)
Banco de dados > SQL Mas afinal, o que é SQL? É uma linguagem padronizada de comunicação com uma base de dados. É constituída por uma sequência de comandos. Esses comandos, por sua vez são constituídos por um conjunto de termos (tokens) e são finalizados com ponto-e-vírgula (‘;’).
Banco de dados > SQL Dicas básicas de SQL: 1. Para criar um banco de dados novo usa-se o comando  CREATE DATABASE: Ex:  CREATE DATABASE banco_do_joaquim; Para criar tabelas no banco de dados usa-se o comando CREATE TABLE: Ex: CREATE TABLE roupa (id INT  NOTNULL AUTOINCREMENT PRIMARY KEY(id), nome VARCHAR(50), nome_fornecedor VARCHAR(50));
Banco de dados > SQL Dicas básicas de SQL: 3. Criado o seu BD e sua tabela, para inserir elementos nela use o comando INSERT Ex: INSERT INTO roupa (nome, nome_fornecedor) VALUES (“blusa Hering”, “Roupas SA”) 4. Com a sua tabela em mãos para selecionar seus dados use os comandos SELECT e FROM Ex: SELECT * FROM roupa;
Banco de dados > SQL Dicas básicas de SQL: 5. Se quiser selecionar elementos do banco de dados de acordo com uma condição usa-se o comando WHERE Ex: SELECT nome FROM roupa WHERE nome LIKE “%blusa%”; 6. Se quiser deletar uma tupla (linha) da tabela usa-se o comando DELETE Ex: DELETE FROM roupa WHERE id = 1; 7. Se houver cadastrado uma entrada de forma errada e quiser corrigir o erro usa-se o comando UPDATE Ex: UPDATE roupa SET nome = “saia Hering” WHERE id = 1
Requisições SQL: hora de produzirmos algumas Queries
Banco de dados > Query Lembra do formulário que fizemos para o sr. Joaquim? Pois é hora de colocarmos as informações ali presentes no banco de dados que criamos.
Banco de dados > Query Vamos acrescentar mais algumas linhas de código em php ao nosso arquivo: <?php ... 	$db_select = mysql_select_db ($db_database); if (!$db_select) { die (“Não foi possível encontrar o BD:</br>”.mysql_error()); 	} 	$query = “SELECT * FROM roupa”; 	$result = mysql_query($query, $connection); if (!$result) { die (“Não foi possível realizar consulta!</br>”.mysql_error()); 	} ?>

Contenu connexe

Similaire à Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas

Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáZarathon Maia
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteIlton Barbosa
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdoJorge Luís Gregório
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroMichael Castillo Granados
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniterRaniere de Lima
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29Juliana Nascimento
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com phpbrenod123
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...wordcamppoa
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalLeo Baiano
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopDiego Sana
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'C. Augusto Proiete
 

Similaire à Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas (20)

Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc Quixadá
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a Parte
 
Crud
CrudCrud
Crud
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguro
 
Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniter
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
Php04
Php04Php04
Php04
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissional
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 
Daw slide 07
Daw slide 07Daw slide 07
Daw slide 07
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
 

Plus de CJR, UnB

XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on RailsCJR, UnB
 
Apresentação Age 2.0
Apresentação Age 2.0Apresentação Age 2.0
Apresentação Age 2.0CJR, UnB
 
Treinamento para Eventos - DIREX
Treinamento para Eventos - DIREXTreinamento para Eventos - DIREX
Treinamento para Eventos - DIREXCJR, UnB
 
Treinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRTreinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRCJR, UnB
 
Por que ser um empresário júnior?
Por que ser um empresário júnior?Por que ser um empresário júnior?
Por que ser um empresário júnior?CJR, UnB
 
SVN Básico
SVN BásicoSVN Básico
SVN BásicoCJR, UnB
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR, UnB
 

Plus de CJR, UnB (8)

XP Programming
XP ProgrammingXP Programming
XP Programming
 
Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
 
Apresentação Age 2.0
Apresentação Age 2.0Apresentação Age 2.0
Apresentação Age 2.0
 
Treinamento para Eventos - DIREX
Treinamento para Eventos - DIREXTreinamento para Eventos - DIREX
Treinamento para Eventos - DIREX
 
Treinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRTreinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJR
 
Por que ser um empresário júnior?
Por que ser um empresário júnior?Por que ser um empresário júnior?
Por que ser um empresário júnior?
 
SVN Básico
SVN BásicoSVN Básico
SVN Básico
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10
 

Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas

  • 1.
  • 2. Mas O que é PHP?
  • 3. Php é uma linguagem de programação desenvolvida para gerar páginas da Web interativamentecom o servidor
  • 4.
  • 6.
  • 7. Depois esses scripts foram passados para C, dando muito mais potencial ao PHP
  • 8. Disponibilizou o seu código para que pudessem ver e usá-lo1994
  • 9.
  • 10. Lançamento da 3º Versão do PHP
  • 11. Forte capacidade de extensibilidade
  • 12. Assemelha-se a verão atual1994 1998
  • 13.
  • 16. Maneiras mais seguras de manipular input dos usuários1994 1998 1999
  • 17.
  • 18.
  • 20. 1. HelloWorld <html> <head> <title> Hello World </title> </head> <body> <?php $frase = “Hello World ”; $apresentacao = “meu nome é Fulano e tenho ”; $idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html>
  • 21. 1. HelloWord <html> <head> <title> Hello Word </title> </head> <body> <?php $frase = “Hello Word ”; $apresentacao = “meu nome é Fulano e tenho ”; $idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Uma variável é definida colocando-se o símbolo $
  • 22. 1. HelloWord <html> <head> <title> Hello Word </title> </head> <body> <?php $frase = “Hello Word ”; $apresentacao = “meu nome é Fulano e tenho ”; $idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Uma variável pode representar qualquer tipo de dado
  • 23. 1. HelloWord <html> <head> <title> Hello Word </title> </head> <body> <?php $frase = “Hello Word ”; $apresentacao = “meu nome é Fulano e tenho ”; $idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Exibe strings na tela
  • 24. 1. HelloWord <html> <head> <title> Hello Word </title> </head> <body> <?php $frase = “Hello Word ”; $apresentacao = “meu nome é Fulano e tenho ”; $idade = 15; echo $frase.$apresentacao.$idade.” anos!”; ?> </body> </html> Operador “.” concatena Strings
  • 25.
  • 26. Hora de Colocar a mão na massa!
  • 29. Formulários > História do Sr. Joaquim Esse é o senhor Joaquim, grande empresário de roupas de Brasília. Para controlar a sua loja ele precisa que você construa um pequeno sistema no qual ele possa cadastrar as roupas que chegam de seus fornecedores
  • 30.
  • 31. Marca
  • 33. Blusa
  • 37. Saia
  • 39. Precisa o tamanho das peçasConstrua um formulário que atenda a esse pedido!
  • 40. E como eu vou armazenar esses dados?
  • 41. 3. Banco de Dados
  • 42. Banco de dados > Definição Um banco de dados é um conjunto de dados que se relacionam mutuamente e estão inseridos em determinado contexto.
  • 43. Banco de dados > Definição O banco de dados que utilizaremos durante o curso será o MySQL, que possui uma interface muito boa com o PHP.
  • 44. Banco de dados > Conexão “Comofas” pra se comunicarem?
  • 45. Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 4 1 2 3 O endereço do Host
  • 46. Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 2 3 4 1 Nome do Banco de Dados
  • 47. Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 4 2 3 1 Nome do usuário
  • 48. Banco de dados > Conexão Uma conexão com o banco de dados precisa de 4 coisas: 1 2 3 4 A senha
  • 49. Banco de dados > Conexão Para fazer isso no PHP: <?php $db_host = ‘nome do host do servidor’; $db_name = ‘nome do banco de dados’; $db_username = ‘nome do usuário’; $db_password = ‘password’; ?> Jogue os dados necessários em variáveis
  • 50. Banco de dados > Conexão Para fazer isso no PHP: <?php $db_host = ‘nome do host do servidor’; $db_database= ‘nome do banco de dados’; $db_username = ‘nome do usuário’; $db_password = ‘password’; $connection = mysql_connect ($db_host, $db_username, $db_password); if (!connection) { die (“Não foi possível conectar com o BD: </br>”.mysql_error()); } ?>
  • 51. Banco de dados > Conexão Para fazer isso no PHP: <?php $db_host = ‘nome do host do servidor’; $db_database = ‘nome do banco de dados’; $db_username = ‘nome do usuário’; $db_password = ‘password’; $connection = mysql_connect ($db_host, $db_username, $db_password); if (!$connection) { die (“Não foi possível conectar com o BD: </br>”.mysql_error()); } $db_select = mysql_select_db ($db_database, $connection),; ?>
  • 52. Banco de dados > Conexão Para fazer isso no PHP: <?php ... $connection = mysql_connect ($db_host, $db_username, $db_password); if (!$connection) { die (“Não foi possível conectar com o BD: </br>”.mysql_error()); } $db_select = mysql_select_db ($db_database, $connection); if (!$db_select) { die (“Não foi possível selecionar o BD:</br>”.mysql_error()); } ?>
  • 53. Banco de dados > Exercício 1 Vamos criar uma conexão com o banco de dados para o senhor Joaquim!
  • 55. Banco de dados > Criando o BD Vamos criar nosso banco de dados utilizando o PHPMyAdmin: “O PHP MyAdmin é uma ferramenta que te permite administrar o seu banco de dados MySQL através do seu browser. Tudo o que ele exige é um servidor web com PHP instalado e um banco de dados MySQL pra adminstrar” (Aprendendo PHP e MySQL,)
  • 56. Banco de dados > SQL Mas afinal, o que é SQL? É uma linguagem padronizada de comunicação com uma base de dados. É constituída por uma sequência de comandos. Esses comandos, por sua vez são constituídos por um conjunto de termos (tokens) e são finalizados com ponto-e-vírgula (‘;’).
  • 57. Banco de dados > SQL Dicas básicas de SQL: 1. Para criar um banco de dados novo usa-se o comando CREATE DATABASE: Ex: CREATE DATABASE banco_do_joaquim; Para criar tabelas no banco de dados usa-se o comando CREATE TABLE: Ex: CREATE TABLE roupa (id INT NOTNULL AUTOINCREMENT PRIMARY KEY(id), nome VARCHAR(50), nome_fornecedor VARCHAR(50));
  • 58. Banco de dados > SQL Dicas básicas de SQL: 3. Criado o seu BD e sua tabela, para inserir elementos nela use o comando INSERT Ex: INSERT INTO roupa (nome, nome_fornecedor) VALUES (“blusa Hering”, “Roupas SA”) 4. Com a sua tabela em mãos para selecionar seus dados use os comandos SELECT e FROM Ex: SELECT * FROM roupa;
  • 59. Banco de dados > SQL Dicas básicas de SQL: 5. Se quiser selecionar elementos do banco de dados de acordo com uma condição usa-se o comando WHERE Ex: SELECT nome FROM roupa WHERE nome LIKE “%blusa%”; 6. Se quiser deletar uma tupla (linha) da tabela usa-se o comando DELETE Ex: DELETE FROM roupa WHERE id = 1; 7. Se houver cadastrado uma entrada de forma errada e quiser corrigir o erro usa-se o comando UPDATE Ex: UPDATE roupa SET nome = “saia Hering” WHERE id = 1
  • 60. Requisições SQL: hora de produzirmos algumas Queries
  • 61. Banco de dados > Query Lembra do formulário que fizemos para o sr. Joaquim? Pois é hora de colocarmos as informações ali presentes no banco de dados que criamos.
  • 62. Banco de dados > Query Vamos acrescentar mais algumas linhas de código em php ao nosso arquivo: <?php ... $db_select = mysql_select_db ($db_database); if (!$db_select) { die (“Não foi possível encontrar o BD:</br>”.mysql_error()); } $query = “SELECT * FROM roupa”; $result = mysql_query($query, $connection); if (!$result) { die (“Não foi possível realizar consulta!</br>”.mysql_error()); } ?>
  • 63. Banco de dados > Exercício 1 Que bonito, agora o seu Joaquim pode ver seus dados cadastrados através do PHP MyAdmin. Mas como ele é bem velhinho, não entende muito bem das tecnologias mais atuais. Dessa forma, por que então não criamos uma página só para listagem dos dados cadastrados?
  • 64. Banco de dados > Exercício 2 O seu Joaquim achou super bonitinho o trabalho que você fez de listagem de suas roupas cadastradas. Ele ficou muito feliz! Mas e se ele quiser vender uma roupa? Essa peça deve sair da listagem de dados pois não constará mais no estoque da sua loja. Vamos então construir uma Query para deletar uma entrada do banco de dados. Essa função deve ser externada ao sr. Joaquim através de um botão de vendas na tabela que é mostrado e cada linha da tabela.
  • 65. Banco de dados > Exercício 3 Nossa! Que tenso! O sr. Joaquim tem mal de Parkinson! Ele cadastrou uma das suas roupas de forma errônea. E agora? Temos que ajudá-lo!! Crie uma Query que permita a edição de dados pelo sr. Joaquim. A exibição dessa funcionalidade deve seguir a mesma formatação da função do exercício 2
  • 66. VIXE! Será que o seu sistema tá Seguro?
  • 67. 4. Segurança Hey, you, modafóca STOP!!
  • 68. Segurança > SQL Injection O que é SQL Injection? É um tipo de ameaça de segurança que atua através de limitações existentes na linguagem SQL. O SQL Injection consiste em inserir sintaxe SQL dentro de uma Query através da manipulação das entradas de dados de seu programa (campos de formulário, por exemplo).
  • 69. Segurança > SQL Injection Exemplo de SQL Injecton Query: SELECT id, nome, sobrenome FROM autores WHERE nome = $nome AND sobrenome = $sobrenome; Input: $nome = o'; DROP TABLE autores ; -- $sobrenome= silva Query resultante: SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'; DROPTABLE autores ; --' AND sobrenome = 'silva‘;
  • 70. Segurança > SQL Injection Oh, e agora, quem poderá me salvar? CALMA CALMA!! Para evitar o SQL Injection siga algumas regras:
  • 71. Segurança > SQL Injection Oh, e agora, quem poderá me salvar? Nunca conecte ao banco de dados como um super-usuário ou como o dono do banco de dados. Use sempre usuários personalidados com privilégios bem limitados. 1 Não imprima qualquer informação específica do banco de dados, especialmente sobre o esquema, custe o que custar 2
  • 72. Segurança > SQL Injection Oh, e agora, quem poderá me salvar? Adicione aspas para cada valor não numérico especificado pelo usuário que será passado para o banco de dados com as funções de caracteres de escape (ex.: mysql_real_escape_string(), sqlite_escape_string(), etc.). 3 Verifique se uma entrada qualquer tem o tipo de dados experado. O PHP tem um grande número de funções de validação de entrada,  (ex.: is_numeric(), ctype_digit() respectivamente) além de usar o suporte a Expressões Regulares 4
  • 73.
  • 74. Segurança > Expressões Regulares O que são Expressões Regulares - RegEx? Em poucas palavras, expressões regulares são uma maneira robusta de se definir um padrão textual. É feita através de um conjunto de símbolos e caracteres que são postos sequencialmente e são interpretados como um regra que deve ser seguida. No PHP, podem ser usadas para definir que tipo de caracteres ou expressões são permitidas dentro de um campo
  • 75. Segurança > Expressões Regulares Como é a sintaxe de uma RegEx?
  • 76. Segurança > Expressões Regulares Como é a sintaxe de uma RegEx?
  • 77.
  • 78. ereg() – casando expressões regulares
  • 79.
  • 80. Segurança > Expressões Regulares Que legal, agora você sabe como validar os campos de seu formulário! Agora é a hora então de sentar e colocar a mão na massa! Valide todos os campos do formulário que forem do tipo input. Use as regras que melhor lhe convierem