PRIMEIRO PROGRAMA EM PHP ORIENTADO A OBJETOS

Tamanho: px
Começar a partir da página:

Download "PRIMEIRO PROGRAMA EM PHP ORIENTADO A OBJETOS"

Transcrição

1 PRIMEIRO PROGRAMA EM PHP ORIENTADO A OBJETOS Leonardo Pimentel Ferreira Higor Ernandes Ramos Silva Veja o cronograma do curso: ao%20curso%20de%20php.pdf Outros materiais:

2 Aula 1 Iniciando um projeto PHP no NetBeans Abra o NetBeans e crie um novo projeto, acessando Arquivo Novo Projeto PHP Aplicação PHP

3 Aula 1 Iniciando um projeto PHP no NetBeans

4 Aula 1 Página index.php Página index.php de um projeto recém-criado no NetBeans.

5 Aula 1 Hello World

6 Aula 1 MVC (Model-View-Controller) Models: Partes do software que realizam funções relacionadas ao domínio Os modelos possuem dados e operações Views: Componentes que mostram os dados aos usuários Dados vêm de um ou mais modelos Controller: Componentes que recebem e enviam comandos Controllers podem alterar views e models

7 Aula 1 MVC (Model-View-Controller) O usuário manipula apenas controllers (botões, scrollbars). Views e controllers podem ser adicionados, removidos e alterados de forma independente do model. Componentes da interface são quase totalmente desacoplados dos componentes da aplicação. Alta flexibilidade e portabilidade.

8 Aula 1 MVC (Model-View-Controller) Fonte:

9 Aula 1 Criando a visão (formulário html) Crie um arquivo chamado login.html dentro do diretório minicurso/visao/login O atributo action da tag form informa a página php que receberá os dados do formulário

10 Aula 1 Visualizando o resultado no Browser Resultado do formulário no navegador Mozilla Firefox. 1. Você pode ver o resultado no navegador digitando o caminho do arquivo login.html (figura abaixo e mais a direita) 2. Ou... Configurando no NetBeans clicando com o botão direito do mouse no projeto e configurando conforme a figura a seguir. Desta maneira ao clicar no botão executar a página será aberta no browser padrão do sistema operacional. (figura abaixo e mais a esquerda)

11 Aula 1 Criando uma classe de modelo

12 Aula 1 Criando o controle Por enquanto a nossa classe da camada controle está bem simples. Vejam que ela já está se comunicando com o Modelo ao instanciar a classe Login e invocando métodos do objeto instanciado. Controle procedimental. Controle O.O.

13 Aula 1 Review... Até agora vimos: Classes; Objetos; Métodos(Construtor, GETTERs e SETTERs); Variáveis e atributos; Operador $this; Visibilidade private; Um pouco do MVC na prática; Criar formulário HTML; Capturar no PHP os dados enviados de um formulário HTML via método POST; Daqui para frente iremos aprofundar mais em O.O.

14 Aula 1 Método destrutor

15 Aula 2 Propriedades (atributos ou campos) Visibilidade: Métodos Atributos Visibilidade (contexto) public function getnome(); //ou function getnome(); public $nome; Default para os métodos Em qualquer contexto é possível acessá-lo. Visibilidade fraca. private function getnome(); private $nome; Apenas no contexto da classe é possível acessá-lo. Visibilidade forte. protected function getnome(); protected $nome; Apenas no contexto da classe e subclasses é possível acessá-lo. Visibilidade média.

16 Aula 2 Exercício sobre propriedades 1. Na classe de modelo Login, altere a visibilidade do método setusuario() para protected. 2. No método construtor da classe de controle clogin adicione a declaração $login->setusuario("usuario"); 3. Execute o arquivo login.html no Browser. 4. Remova a declaração adicionada no item 2 e mude o método setusuario() para public. Baixar a revisão 2 do repositório: https://minicurso-php-petsi googlecode.com/svn/trunk

17 Aula 2 Atributos e métodos estáticos Crie um atributo estático chamado $nro_usuarios_online e atribua o valor 0 para ele. Em seguida, crie um método estático chamado alteranrousuarios(). A cada vez que o método construtor for chamado, o método alteranrousuarios() incrementará em 1 o número de usuários online.

18 Aula 2 Atributos e métodos estáticos

19 Aula 2 Passando parâmetros para métodos

20 Aula 2 Definindo parâmetros default

21 Aula 2 Herança

22 Aula 2 Herança Para testar coloque os trechos de código em vermelho no arquivo de controle do login: clogin

23 Aula 2 Herança Houve algum erro? Do tipo Fatal error: Call to undefined function setnrovezesacessado() in C:\xampp\htdocs\minicurso\login\modelo\mlogincomum.php on line 8 Pense em como corrigir isso. Uma dica: this is the problem.

24 Aula 2 Exercício sobre Herança: Crie uma classe Cheque (no arquivo cheque.php) que possua um atributo valor, um construtor que receba como parâmetro esse valor e dois métodos que você implementará da maneira que quiser (CalcularJuros() e TipoCheque()). Em seguida, crie uma classe ChequeEspecial (no arquivo chequeepecial.php) que vai herdar da classe Cheque.

25 Aula 3 Polimorfismo Implemente na classe ChequeEspecial os próprios métodos CalcularJuros()e TipoCheque() dela.

26 Aula 3 Polimorfismo Crie um terceiro arquivo para exemplificar o uso do polimorfismo. <?php require_once("cheque.php"); require_once("chequeespecial.php"); }?> $Cheques[1] = new Cheque(380.00); $Cheques[2] = new ChequeEspecial(600.00); $Cheques[3] = new Cheque(230.00); foreach ( $Cheques as $key => $Cheque ) { echo "Cheque $key ( {$Cheque->TipoCheque()} ) com juros: R$ {$Cheque->CalcularJuros()} <br />";

27 Aula 3 Classes e métodos abstratos (Abstract)

28 Aula 3 Classes e métodos abstratos (Abstract) Reflexo na classe filha LoginComum. Reflexo na classe de controle, ao instanciar uma classe abstrata

29 Aula 3 Exercício sobre Classes abstratas: Corrija os erros apresentados anteriormente. Crie uma classe chamada LoginAdmin, que herda da classe Login.

30 Aula 3 Interface Para exemplificar o uso de interfaces, crie uma interface chamada ILogin, que contém o método imprimir_dados(login $l). l é um objeto da classe Login.

31 Aula 3 Interface Feito isso, faça com que a classe abstrata Login implemente a interface ILogin.

32 Aula 3 Interface NOTA - Interfaces podem definir constantes. Constantes são uma espécie de variável e cujo o seu valor não é alterado durante a execução do programa. Ex.: - Classes abstratas e concretas podem implementar várias interfaces.

33 Aula 3 Interfaces podem extender outras classes:

34 Aula 3 Exercício Interface: Crie uma interface no projeto que declara pelo menos um método. Em seguida, mostre um exemplo de como utilizá-la.

35 Aula 3 Clonagem de objetos Ex.: $copia_do_objeto = clone $objeto; Adicione as linhas a seguir na classe de controle

36 Aula 3 Clonagem de objetos Resultado

37 Aula 3 Clonagem de objetos Contornando o efeito indesejado do slide anterior. Implemente o método mágico clone() na classe de modelo LoginComum

38 Aula 3 Comparação de objetos Existem duas maneiras de comparar objetos: 1. ($objeto1 == $objeto2) e (!=): verifica se dois objetos são da mesma classe e possuem os mesmos atributos e valores. 2. ($objeto1 === $objeto2) e (!==): verifica se dois objetos são da mesma classe, possuem os mesmos atributos e valores e representam a mesma instância da classe.

39 Aula 3 Comparação de objetos O resultado será para cada sequência de if e else: 1- (IF) Login Comum tem as mesmas propriedades da cópia de sua referência 2- (ELSE) Login Comum não tem as mesmas propriedades da cópia de seu clone 3- (IF) Login Comum é a mesma instância da cópia de sua referência 4- (ELSE) Login Comum não é a mesma instância do seu clone

40 Aula 4 Importando o Script do Banco de dados através do PHPMyAdmin Baixe e extraia o arquivo BD-aula4.sql no site Certifique de que o Apache e o MySQL foram iniciados no XAMPP Digite no browser: localhost/phpmyadmin Selecione o menu importar Importe o arquivo BD-aula4.sql

41 Aula 4 Criando a interface para login DAO Crie uma interface chamada ILoginComumDAO no arquivo dao/ilogindao.php <?php include_once '../modelo/mlogincomum.php'; //Qualquer DAO de BD que implemente esta interface terá que implementar as operações interface ILoginComumDAO{ public function add(logincomum $l); public function atualiza(logincomum $l); public function remove($usuario); public function busca($usuario); }?>

42 Aula 4 Conectando PHP ao Banco de dados através do PDO (PHP Data Objects) PDO é a interface para acessar banco de dados em PHP. Para usar funções do banco de dados via PDO é necessário o driver PDO específico do servidor do BD. Cada driver de BD implementa a interface PDO. Independente do BD que está sendo utilizado, serão usadas as mesmas funções para escrever queries. PDO funciona nativo a partir do PHP 5.1, e está disponível como um extensão para PHP 5.0;

43 Aula 4 Conectando PHP ao MySQL Sintaxe: $bd = new PDO ($dsn, $username, $passwd, $options); $dsn = prefixo DSN é composto por : Host - servidor do banco de dados está. Port - o núm. da porta onde o servidor do bd está escutando. Dbname - o nome do banco de dados. unix_socket - o socket Unix do MySQL. $username = usuário do banco de dados $passwd = senha do usuário do banco de dados $options = array de opções Exemplo: $bd = new PDO ("mysql:host=localhost;dbname=pdo;port=3306;unix_socket=/tmp/mysql.sock", "pdo", "pdo", array(pdo::attr_persistent => true));

44 Aula 4 Criando uma classe geral PDO <?php //Crie uma classe chamada MySQLPDO no arquivo dao/mysqlpdo.php class MySQLPDO extends PDO { const DB_HOST='localhost'; const DB_PORT='3306'; const DB_NAME='minicurso_php'; const DB_USER='root'; const DB_PASS=''; public function construct($options=null){ try{ parent:: construct('mysql:host='.mysqlpdo::db_host.';port='.mysqlpdo::db_port.';dbname='.mys QLPDO::DB_NAME, MySQLPDO::DB_USER, MySQLPDO::DB_PASS, $options); } catch (PDOException $err){ echo $err->getmessage(); return null; } } public function query($query){ //Consulta segura com Prepare Statement $args = func_get_args();//transforma argumentos em vetor array_shift($args); //array_shift() retira o primeiro elemento(query) do array de //argumentos e o retorna //Ex.: irá restar no array $args apenas $t1 que será passado em execute $statm = parent::prepare($query); //prepara a consulta $statm->execute($args); //executa o statment return $statm; //retorna o statement } }?>

45 Aula 4 Tratando erros de conexão Via try e catch. <?php try { $bd = new PDO('mysql:host=localhost;dbname=test', $user, $pass); } catch (PDOException $e) { print "Erro: ". $e->getmessage(). "<br/>"; die();//termina o script atual //ou lançar exceção //throw new Exception('Não foi possível conectar ao bd'); }?> Cuidado: Se a exceção não for capturada via set_exception_handler ou try e catch um erro ocorrerá e dados da conexão serão expostos. Ex.: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1049] Unknown database 'pd'' in C:\xampp\htdocs\minicurso\index.php:13 Stack trace: #0 C:\xampp\htdocs\minicurso\index.php(13): PDO- > construct('mysql:host=loca...', 'pdo', 'pdo', Array) #1 {main} thrown in C:\xampp\htdocs\minicurso\index.php on line 13

46 Aula 4 Prepared Statement Oferecem dois grandes benefícios: 1. A consulta é preparada (parsed) apenas uma vez e pode ser executada múltiplas vezes com diferentes parâmetros, i.e, são customizáveis. Quando a consulta é preparada o banco de dados analizará, compilará e otimizará a consulta. Usando prepared statement a aplicação evita repetir a análise, compilação e otimização do ciclo. Isto significa que prepared statements usam menos recursos e assim rodam mais rápido.

47 Aula 4 Prepared Statement 2. Os parâmetros dos prepared statements não necessitam de ser quoted. O driver do servidor de BD automaticamente faz isso. Isso certifica ao desenvolvedor que nenhuma SQL injection ocorrerá (entretanto, se outras porções do código da consulta estão sendo construída com entradas unescaped, SQL injection é ainda possível). Def.: São templates para SQL compilados que serão executados. Prepared statements são emuladas para drivers que não suportam-as. Isto faz a aplicação usar o mesmo paradigma de acesso ao dado.

48 Aula 4 Crie uma classe DAO <?php include_once 'mysqlpdo.php'; include_once 'ilogincomumdao.php'; class LoginComumDAOMySQL extends MySQLPDO implements ILoginComumDAO { public function construct($driver_options=array(pdo::attr_persistent => true)) { parent:: construct($driver_options); } public function add(logincomum $l) { //PREPARED STATEMENT $stmt = $this->prepare("insert INTO LOGIN (log_user, log_senha) VALUES (:user, :senha)"); $stmt->bindparam(':user', $user); $stmt->bindparam(':senha', $senha); //ou $stmt = $this->prepare("insert INTO LOGIN (log_user, log_senha) VALUES (?,?)"); //$stmt->bindparam(1, $user); //$stmt->bindparam(2, $senha); $user = $l->getusuario(); $senha= $l->getsenha(); //$user = 'x'; //$senha = 'y'; $stmt->execute(); return $stmt; } //... TEM MAIS CÓDIGO

49 Aula 4 Crie uma classe DAO public function atualiza(logincomum $l) { return $this->query("update LOGIN SET log_senha =? WHERE log_user =?", $l->getsenha(), $l- >getnrovezesacessado(), $l->getusuario()); } public function busca($usuario) { return $this->query("select * FROM LOGIN where log_user =?", $usuario); } public function remove($usuario) { return $this->query("delete FROM LOGIN where log_user =?", $usuario); } }?>

50 Aula 4 Exemplo busca de dados com fetch() $stmt = $this->prepare("select * FROM LOGIN where log_user =?"); if ($stmt->execute(array($usuario))) { while ($row = $stmt->fetch()) { print_r($row); } }

51 Aula 4 Alterando o controle Para testar o método add, deixe o arquivo de controle clogin.php como abaixo: <meta Content-Type="text/html" charset="utf-8"> <?php // controle/clogin.php include_once '../modelo/mlogincomum.php'; include_once '../dao/logincomumdaomysql.php'; class clogin{ private $msg; function construct() { $login_comum = new LoginComum($_POST['usuario'], $_POST['senha']); $logincomumdao = new LoginComumDAOMySQL(); $stmt = $logincomumdao->add($login_comum); if($stmt->errorcode() == 0){ $this->msg = $login_comum->getusuario(). " foi adicionado com sucesso"; }else{ $this->msg = $stmt->errorinfo()[2]; } header("location:../visao/login.php?msg=$this->msg");?> function destruct() { echo "Bye!"."<br>"; } } $clogin = new clogin();//ou new clogin

52 Aula 4 Alterando a visão <?php // visao/login.php if(isset($_get['msg'])){//imprime na visão a mensagem na url echo $_REQUEST['msg']."<br>"; }?> <!DOCTYPE html> <html> <head> <title>login</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <form method="post" action="../controle/clogin.php"> Usuário: <input type="text" name="usuario"> <br><br> Senha: <input type="password" name="senha"> <input type="submit" value="logar!"> </form> </body> </html>

53 Aula 4 Transação (ACID) try { $bd->begintransaction(); $bd->exec( "insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')"); $bd->commit(); } catch (Exception $e) { $bd->rollback(); echo "Failed: ". $e->getmessage(); }

54 Aula 4 Encerrando uma conexão Para encerrar uma conexão com o servidor de banco de dados basta atribuir null ao objeto PDO. $bd = null;

55 Aula 4 Stored Procedures Prepared statements também podem chamar uma stored procedure com parâmetros de entrada e saída. <?php $stmt=$bd->prepare ("CALL funcao(?)"); $stmt-> bindparam (1, $return_value, PDO::PARAM_STR, 4000); // executa a stored procedure $stmt->execute(); print "procedure returned $return_value\n";?>

56 Aula 4 Drivers Banco de dados Driver Banco de dados suportados 4D (PDO) PDO_4D 4D CUBRID (PDO) PDO_CUBRID Cubrid Firebird (PDO) PDO_FIREBIRD Firebird IBM (PDO) PDO_IBM IBM DB2 Informix (PDO) PDO_INFORMIX IBM Informix Dynamic Server MS SQL Server (PDO) PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase MS SQL Server (PDO) PDO_SQLSRV Microsoft SQL Server / SQL Azure MySQL (PDO) PDO_MYSQL MySQL 3.x/4.x/5.x ODBC and DB2 (PDO) PDO_ODBC ODBC v3 (IBM DB2, unixodbc and win32 ODBC) Oracle (PDO) PDO_OCI Oracle Call Interface PostgreSQL (PDO) PDO_PGSQL PostgreSQL SQLite (PDO) PDO_SQLITE SQLite 3 and SQLite 2

57 Aula 4 Constantes pré-definidas Geral Do MySQL

58 Aula 5 Segurança em PHP Gerar senha criptografada com password_hash() a partir do PHP Características: Cria senhas usando algoritmos hashing fortes (one-way); Compatível com a função crypt(); Atualmente suporta dois algoritmos: PASSWORD_DEFAULT: usa atualmente o algoritmo BCRYPT e pode gerar senhas de tamanhos variáveis. Para armazenar no BD o recomendável é colocar a senha gerada em um campo de 255 caracteres. PASSWORD_BCRYPT: gera um resultado padronizado com a função crypt() usando hash com identificador "$2y$". O resultado será sempre uma string de tamanho 60 ou Falso em caso de falha.

59 Aula 5 Segurança em PHP Opções suportadas: salt - programador fornece uma string para usar na função. Isto irá substituir e evitar que uma string seja gerada automaticamente. Se omitida, uma string randômica será gerada para cada nova senha que é o desejado. cost - o custo do algoritmo que deve ser usado. Se omitido, o valor default 10 será usado. Dependendo do hardware, um custo maior poderá ser considerado.

60 Aula 5 Segurança em PHP string password_hash ( string $password, i nteger $algo [, array $options ] ) password O password do usuário algo - o algoritimo a ser usado na função Options Um array assossiativo contendo opções: salt e cost. Retorna o hash da senha, ou FALSE em caso de falha.

61 Aula 5 Exemplo 1 <?php /** * Usa o algoritmo padrão */ echo password_hash("rasmuslerdorf", PASSWORD _DEFAULT). "<br>";?> Saída: $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7 KnEd1rVAGv3Fykk1a

62 Aula 5 Exemplo 2 /** * Define o custo do algoritmo BCRYPT para 12 e o salt é gerado randomicamente. Sempre gera 60 caracteres */ $options = [ cost => 12, salt => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM) ]; echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options). "<br />"; Saída: $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDx Y3K

63 Aula 5 Não adianta muito um bom algoritmo hash se o usuário... Não deixe que os usuários criem senhas fracas. Determine: Número mínimo de caracteres; Uso de caracteres especiais; Letras maiúsculas e minúsculas; Uso de números, etc.

64 Aula 5 Verificar senha boolean password_verify ( string $password, string $hash ) password a senha do usuário Hash Uma hash criado por password_hash(). if (password_verify('rasmuslerdorf', $hash)) { echo Senha válida!'; } else { echo Senha inválida.'; } password_hash() retorna algoritmo, custo e o salt. Portanto, toda a informação necessária para verificar a hash está incluída nela permitindo verificar a hash sem separar em campos separados no BD.

65 Aula 5 Exercícios Utilize a função password_hash() para criar a hash da senha do usuário antes de salvaguardar o registro no banco de dados. Veja o resultado no banco de dados. Utilize a função password_verify() para verificar a senha digitada pelo usuário.

66 Aula 5 Uma solução: Crie um método para comparar a senha e outro que gere o hash da senha.

67 Aula 5 Uma solução: Na camada DAO altere onde é necessário definir o HASH da senha. Neste caso, nas funções de adicionar e atualizar.

68 Aula 5 Uma solução: Apenas testando no controle

69 Aula 5 Escondendo o PHP (Segurança por obscuridade) Ao definir expose_php para off no seu arquivo php.ini, você reduz a quantidade de informação disponível para os hackers. Configurar o servidor web (por ex. Apache) para analisar diferentes tipos de arquivo através do PHP. Ou com diretivas no arquivo.htaccess, ou no arquivo de configuração do apache. Ex: defina uma arquivo nomeado.htaccess e coloque este trecho de código. # Make all PHP code look like HTML AddType application/x-httpd-php.htm.html

70 Aula 5 Dicas de segurança Limite o poder dos usuários do seu banco ou de um usuário do Apache Nunca atribua poderes de admin a usuários comuns Não use nos campos das tabelas do banco de dados o mesmo nome que o atributo name das tags HTML. Dica: use prefixos ou pós-fixos nos campos e nas tabelas. Cheque as variáveis recebidas de um formulário HTML Ex.: Se a variável for do tipo inteiro, verifique se uma string foi passada Não dê permissões totais de acesso a páginas aos usuários comuns por exemplo com comandos no linux. Usando a diretiva open_basedir definida no php.ini você pode controlar e restringir quais diretórios o PHP tem permissão de usar.

71 Aula 5 Dicas de segurança Estabeleça quando necessário conexões sobre SSL (HTTPS = HTTP + SSL) para criptografar comunicações cliente/servidor para aumentar a segurança. Ou use SSH para criptografar a conexão de rede entre cliente e servidor remoto. Se uma dessa opções for usada, monitoramento do seu tráfego e obtenção de informação sobre seu banco de dados serão dificultados por um atacante.

72 Aula 5 Exemplo de Injeção SQL por falta de checagem de variável <?php $offset = $argv[0]; // Sem validação de entrada! $query = "SELECT id, name FROM products ORDER BY na me LIMIT 20 OFFSET $offset;"; $result = pg_query($conexão, $query);?> Usuários normais clicam nos links 'próxima' e 'anterior' onde $offset é codificado na URL. O script espera que o valor de $offset seja um inteiro. Se alguém tentar invadir acrescentando a forma codificada por urlencode() da URL seguinte: Exemplo de ataque: 0; insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd) select 'crack', usesysid, 't','t','crack' from pg_shadow where usename='postgres'; --

73 Aula 5 Correção do exemplo anterior <?php settype($offset, 'integer'); $query = "SELECT id, name FROM products ORDER BY n ame LIMIT 20 OFFSET $offset;"; // por favor perceba o %d na string de formato, usando %s seria inútil $query = sprintf("select id, name FROM products ORDE R BY name LIMIT 20 OFFSET %d;", $offset);?>

74 Aula 5 Exemplo 2 Exemplo #1 Uso Perigoso de Variáveis <?php // remove um arquivo do diretório home do usuário... ou talvez // de outra pessoa? unlink ($evil_var); // Escreve registro do acesso... ou talvez uma entrada em /etc/ passwd? fwrite ($fp, $evil_var); // Executa algo trivial... ou rm -rf *? system ($evil_var); exec ($evil_var);?>

75 Aula 5 Dicas de segurança Adicione aspas para cada valor não numérico que será passado para o banco de dados com as funções de caracteres de escape. Ex.:mysql_real_escape_string(). Ou funções addslashes() e str_replace() Não imprima qualquer informação específica do banco de dados, especialmente sobre o esquema, custe o que custar. Tome cuidado em relatar erros o estilo de um erro genérico do PHP indica que o sistema está rodando o PHP. O atacante pode explorar vulnerabilidades do back-end Dica: crie seu tratador de erros Desabilite display_errors no arquivo php.ini e defina o arquivo de registro usando a diretiva error_log

76 Aula 5 Dicas de segurança O XAMPP avisa-o quando alguns problemas de segurança ocorrem. Veja no menu segurança (security) em localhost/xampp

77 Aula 5 Dicas Trabalhar com PHP em modo error_reporting (E_ALL) também pode ajudar avisando sobre variáveis sendo usadas antes de serem checadas ou inicializadas (então você pode prevenir que dados incomuns sejam operados). TESTAR Captcha Mantenha-se atualizado!

78 Aula 5 Site para treinar e aprender alguns tipos de ataque

79 Aula 5 Outros sites Conectando PHP ao MySQL: Gerar Senha segura:

80 Aula 6 Bootstrap Framework de front-end Características: Estrutura simples, intuitiva e poderosa para o desenvolvimento web mais rápido e mais fácil; Customizável; Responsível; Não é necessário ter grandes conhecimentos em CSS3. Algumas versões em 10/12/2013 Globo Bootstrap - Versão (Utilizado neste curso) Bootstrap Versões (com alguns recursos novos em relação ao anterior) e (Mais recente, com mais recursos que o anterior)

81 Aula 6 Usando o Bootstrap Baixe ele em Extraia-o para a pasta de visao do projeto.

82 Aula 6 Usando o Bootstrap Adicione no arquivo de visão login.php as seguintes diretivas para incluir o css e javascript.

83 Aula 6 Usando o Bootstrap Veja a diferença com e sem bootstrap respectivamente. É bem simples mudar a cor do botão, basta colocar a classe na tag html que fará com que o botão por exemplo seja azul <input class="btn btn-primary" type="submit" value="logar!"> Uma lista de classes disponíveis em CSS podem ser encontradas em

Recursos avançados e Orientação a Objetos no PHP

Recursos avançados e Orientação a Objetos no PHP Recursos avançados e Orientação a Objetos no PHP Edgar Rodrigues Sandi edgar@season.com.br Gerente de projetos Desenvolvedor PHP e Java Ministra os treinamentos: Linguagens de Programação PHP I Fundamentos

Leia mais

Apostila do Curso de PHP Orientado a Objetos

Apostila do Curso de PHP Orientado a Objetos PHP OO Universidade Federal de Uberlândia Faculdade de Computação PET Sistemas de Informação Apostila do Curso de PHP Orientado a Objetos PHP O.O 1 Sumário O que é o PHP?...4 Como funciona o PHP?...4 O

Leia mais

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6

Leia mais

Desenvolvimento de Aplicações para Internet Aula 8

Desenvolvimento de Aplicações para Internet Aula 8 Desenvolvimento de Aplicações para Internet Aula 8 Celso Olivete Júnior olivete@fct.unesp.br na aula passada Orientação a Objetos Classes Objetos Construtores Destrutores 2 na aula passada Construtores

Leia mais

Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007

Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007 Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007 Este tutorial é destinado a oferecer uma bem básica introdução para o uso do componente Zend_Auth com o Zend

Leia mais

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

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] ) Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Unidade 9: Middleware JDBC para Criação de Beans

Unidade 9: Middleware JDBC para Criação de Beans Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com

Leia mais

Passos Preliminares: Acessando a máquina virtual via ssh.

Passos Preliminares: Acessando a máquina virtual via ssh. CIn/UFPE Sistemas de Informação Redes de Computadores Professor: Kelvin Lopes Dias Monitor: Edson Adriano Maravalho Avelar {kld,eama@cin.ufpe.br Instalando o APACHE, PHP (PHPADMIN), MySQL. Este tutorial

Leia mais

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Manual de padrões e convenções para desenvolvimento de sistemas PHP Versão Conteúdo 1.

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM NOVEMBRO / 2014 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

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

Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner Objetivo Disseminar boas práticas para o desenvolvimento de código seguro em php. Exemplificar como são feitos os ataques e suas respectivas

Leia mais

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,

Leia mais

Desenvolvimento de Aplicações para Internet Aula 9

Desenvolvimento de Aplicações para Internet Aula 9 Desenvolvimento de Aplicações para Internet Aula 9 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje PDO PHP Data Object 2 PDO PDO é uma extensão que fornece uma interface padronizada para trabalhar

Leia mais

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs? BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco

Leia mais

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5. Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

Leia mais

Interagindo com Banco de Dados

Interagindo com Banco de Dados Interagindo com Banco de Dados Até agora não falamos de banco de dados, pois gostaríamos prime iro de te preparar para o uso do banco de dados dentro do Framework MVC. Mas antes de falarmos do framework

Leia mais

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

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

6. Introdução à Linguagem PHP

6. Introdução à Linguagem PHP 6. Introdução à Linguagem PHP A comunicação na Web exige dois agentes: o cliente web e o servidor web. O cliente requer informação (a partir de uma página HTML acessada pelo navegador) e o servidor fornece

Leia mais

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

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Procuraremos mostrar os principais procedimentos para fazer um cadastro de registros numa base de dados MySQL utilizando a linguagem

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

Parte I. Orientação a objetos no PHP. Contato: Site: http://professores.chapeco.ifsc.edu.br/lara/

Parte I. Orientação a objetos no PHP. Contato: <lara.popov@ifsc.edu.br> Site: http://professores.chapeco.ifsc.edu.br/lara/ Parte I Programação para WEB II Orientação a objetos no PHP Contato: Site: http://professores.chapeco.ifsc.edu.br/lara/ Programação para WEB II 1 PHP Estruturado Os programadores

Leia mais

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

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET Programação para Internet I Aula 10 PHP: Trabalhando com Banco de Dados leticia@cafw.ufsm.br Acessando

Leia mais

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1 Segurança na Web Capítulo 9: Segurança em Aplicações Web Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW Page 1 Introdução Quando se fala em segurança na WEB é preciso pensar inicialmente em duas frentes:

Leia mais

ZendWi Presentation 19/10/2012

ZendWi Presentation 19/10/2012 ZendWi Presentation 19/10/2012 Índice 1. Introdução ao Zend Framework 2 2. MVC 3. Zend Tools 4. Estrutura 5. Zend DB Model Generator 6. Back-End Developer 7. Front-End Developer 8. Links Úteis Introdução

Leia mais

JDBC Acessando Banco de Dados

JDBC Acessando Banco de Dados Acessando Banco de Dados Objetivos Entender o que são Drivers. Diferenciar ODBC, JDBC e DRIVERMANAGER. Desenvolver uma aplicação Java para conexão com Banco de Dados. Criar um objeto a partir da classe

Leia mais

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

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25 9 Sobre o autor... 8 Introdução... 15 Capítulo 1 O que é o PHP?... 19 Características do PHP...20 Gratuito e com código aberto...20 Embutido no HTML...20 Baseado no servidor...21 Bancos de dados...22 Portabilidade...22

Leia mais

XSS - CROSS-SITE SCRIPTING

XSS - CROSS-SITE SCRIPTING Segurança XSS - CROSS-SITE SCRIPTING XSS - CROSS-SITE SCRIPTING Vamos supor a seguinte situação: O site ingenuo.com tem um fórum As pessoas escrevem comentários nesse fórum e eles são salvos diretamente

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

www.coldfusionbrasil.com.br

www.coldfusionbrasil.com.br www.coldfusionbrasil.com.br 2000 1 O que é Cold Fusion? 3 Arquitetura Cold Fusion 3 Cold Fusion Markup Language (CFML) 4 O que devo saber para programar em CFML? 4 HTML 4 Desenho de Banco de Dados Relacionais

Leia mais

13 Conectando PHP com MySQL 13.1 Introdução

13 Conectando PHP com MySQL 13.1 Introdução 13 Conectando PHP com MySQL 13.1 Introdução Agora que você já tem uma idéia básica de comandos MySQL, poderemos ver como a linguagem PHP pode interagir com este banco de dados através de inúmeras funções.

Leia mais

Drive MySql de conexão para Eclipse

Drive MySql de conexão para Eclipse Drive MySql de conexão para Eclipse de Setembro de 0 Olá, neste artigo iremos focar em como utilizar o drive de conexão do Mysql na IDE eclipse. Veremos passo-a-passo como instalar, o que é uma coisa muito

Leia mais

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia Instituto Federal do Sertão-PE Curso de PHP Professor: Felipe Correia Conteúdo Parte I Parte II Introdução Funções de strings Instalação Constantes Sintaxe Operadores Variáveis if else elseif Echo/Print

Leia mais

Manual STCP Web Admin 27/07/2009, Riversoft Integração e Desenvolvimento

Manual STCP Web Admin 27/07/2009, Riversoft Integração e Desenvolvimento STCP OFTP Web Admin Versão 4.0.0 Riversoft Integração e Desenvolvimento de Software Ltda Av.Dr.Delfim Moreira, 537 Centro Santa Rita do Sapucaí, Minas Gerais CEP 37540 000 Tel/Fax: 35 3471 0282 E-mail:

Leia mais

Aplicação web protegida

Aplicação web protegida Sua aplicação web é segura? SEGURANÇA Aplicação web protegida Aplicações web oferecem grandes riscos à segurança. Aprenda a proteger todos os elementos dessa complexa equação. por Celio de Jesus Santos

Leia mais

Tahuti 2.1 A ferramenta de gerenciamento de TI. Manual de Instalação. Belo Horizonte, 06 de novembro de 2015.

Tahuti 2.1 A ferramenta de gerenciamento de TI. Manual de Instalação. Belo Horizonte, 06 de novembro de 2015. Tahuti 2.1 A ferramenta de gerenciamento de TI Manual de Instalação Belo Horizonte, 06 de novembro de 2015. Índice 1. Pré-requisitos 01 2. Instalando e Configurando o Sistema 02 3. Particularidades no

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Desenvolvimento de Aplicações para Internet Aula 7

Desenvolvimento de Aplicações para Internet Aula 7 Desenvolvimento de Aplicações para Internet Aula 7 Celso Olivete Júnior olivete@fct.unesp.br Classe e tipos de dados Classe Conjunto de objetos semelhantes, isto é, com a mesma estrutura (atributos) e

Leia mais

APOSTILA PHP. Parte 2

APOSTILA PHP. Parte 2 APOSTILA PHP Parte 2 7. Funções Definindo funções A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return ]; Qualquer código PHP

Leia mais

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

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

Leia mais

Começando com Zend Framework

Começando com Zend Framework Começando com Zend Framework Versão brasileira da apresentação disponível em http://www.slideshare.net/baohx2000/zend-framework-19-setup-using-zendtool Ou: Como eu aprendi a parar de me preocupar e amei

Leia mais

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD

Leia mais

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

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP Programação WEB Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula III Introdução PHP Introdução PHP PHP=Hypertext Pre-Processor Linguagem de script open

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

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

PHP (Seções, Cookies e Banco de Dados) PHP (Seções, Cookies e Banco de Dados) André Tavares da Silva andre.silva@udesc.br Seções Basicamente, as seções são métodos que preservam determinados dados ativos enquanto o navegador do cliente estiver

Leia mais

Características do PHP. Começando a programar

Características do PHP. Começando a programar PHP Introdução Olá pessoal. Desculpe o atraso na publicação da aula. Pude perceber pelas respostas (poucas) ao fórum que a realização da atividade do módulo I foi relativamente tranquila. Assistam ao vídeo

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Introdução ao Sistema. Características

Introdução ao Sistema. Características Introdução ao Sistema O sistema Provinha Brasil foi desenvolvido com o intuito de cadastrar as resposta da avaliação que é sugerida pelo MEC e que possui o mesmo nome do sistema. Após a digitação, os dados

Leia mais

sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p://www.digitale.com.br h7p://leveme.

sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p://www.digitale.com.br h7p://leveme. sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p://www.digitale.com.br h7p://leveme.la/rogerio definição - é uma forma de programar e organizar um sistema

Leia mais

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

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Programação Web com PHP Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Agenda O que é PHP? O que da pra fazer com PHP? Como a web funciona? Onde, quando e por que

Leia mais

Internet e Programação Web

Internet e Programação Web COLÉGIO ESTADUAL PEDRO MACEDO Ensino Profissionalizante Internet e Programação Web 3 Técnico Prof. Cesar 2014 1. PHP e MySQL O MySQL é o gerenciador de banco de dados mais usado com o PHP. Existem muitas

Leia mais

GUIA PHP com MYSQL Autor: Everton Mendes Messias

GUIA PHP com MYSQL Autor: Everton Mendes Messias PHP (Hypertext Preprocessor) : Linguagem de programação interpretada. Tags PHP: phpinfo(); Comentários: //, # - comentário de uma linha /* comentário de várias linhas */ GUIA PHP com MYSQL Autor: Everton

Leia mais

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9 DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9 Í N D I C E Capítulo 1 - O Início de Tudo 1 Reunindo todas as informações necessárias 2 Instalando o Visual FoxPro 2 Configurando o Visual FoxPro 7 Capítulo

Leia mais

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado

Leia mais

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

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES JavaScript Desenvolvimento de Sistemas para WEB Site:

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Segurança em Sistemas Web. Addson A. Costa

Segurança em Sistemas Web. Addson A. Costa Segurança em Sistemas Web Addson A. Costa Spoofing de formulários Spoofing consiste em falsificação, por exemplo, na área de redes um computador pode roubar o IP de outro e assim fazer-se passar por ele.

Leia mais

LINGUAGEM DE PROGRAMAÇÃO WEB

LINGUAGEM DE PROGRAMAÇÃO WEB LINGUAGEM DE PROGRAMAÇÃO WEB GABRIELA TREVISAN Ambiente de Desenvolvimento Após instalar o Wamp Server, inicie o servidor. Um ícone aparecerá na SystemTray. A cor do ícone indica seu estado: Verde: servidor

Leia mais

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro.

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro. Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

7. Recursos PHP para a Internet

7. Recursos PHP para a Internet 7. Recursos PHP para a Internet Protocolo HTTP. Na aula passada vimos um script simples de autenticação de usuários. Neste script foi usado o tag META para passar uma URL ao servidor web. A linguagem PHP

Leia mais

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

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO Este é um sistema de controle de produtos, onde o usuário irá entrar com o login e a senha, e se ele for um usuário cadastrado na tabela usuários

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Leonardo Gresta Paulino Murta leomurta@gmail.com

Leonardo Gresta Paulino Murta leomurta@gmail.com Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no

Leia mais

Iniciando o MySQL Query Brower

Iniciando o MySQL Query Brower MySQL Query Brower O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Assim como o MySQL Administrator foi criado

Leia mais

Padrões, PEAR e Frameworks PHP

Padrões, PEAR e Frameworks PHP Professor: FLÁVIO GOMES DA SILVA LISBOA (FGSL) AULA 2 A MISSÃO! Ou A Vingança do Mapeamento Objeto-Relacional Plano de Aulas Dia 1 2 3 4 5 Conteúdo Motivação para o uso de frameworks. Instalação e uso

Leia mais

ProgramaTchê programatche.net Programação OO com PHP

ProgramaTchê programatche.net Programação OO com PHP Roteiro 2 Objetivos: * Apresentar a sintaxe básica para utilização de Orientação a Objetos em PHP. Ferramentas necessárias Navegador, NetBeans, Servidor Apache. 1 Orientação a Objetos em PHP PHP é uma

Leia mais

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2 Victor Amorim - vhca Pedro Melo pam2 Arquitetura de BDs Distribuídos Sistemas de bds distribuídos permitem que aplicações acessem dados de bds locais ou remotos. Podem ser Homogêneos ou Heterogêneos: Homogêneos

Leia mais

Lidando de Forma Eficiente com Validações Locais de Objetos

Lidando de Forma Eficiente com Validações Locais de Objetos Lidando de Forma Eficiente com Validações Locais de Objetos Aprenda a construir um mini-framework para validar objetos locais sem afetar a complexidade do código. Autor Paulo César M. N. A. Coutinho (pcmnac@gmail.com):

Leia mais

Python Acessando o Banco de Dados MySQL

Python Acessando o Banco de Dados MySQL Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4

Leia mais

Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder

Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder Adriano Gonçalves adriano.php4@gmail.com Agenda O PEAR e suas vantagens Abstração de banco

Leia mais

Prefácio 13. 1.1 Breve História do PHP... 15 1.1.1 PHP/FI... 15 1.1.2 PHP 3... 15 1.1.3 PHP 4... 16 1.1.4 PHP 5... 16 1.2 Licença...

Prefácio 13. 1.1 Breve História do PHP... 15 1.1.1 PHP/FI... 15 1.1.2 PHP 3... 15 1.1.3 PHP 4... 16 1.1.4 PHP 5... 16 1.2 Licença... 2 Sumário Página Prefácio 13 1 Introdução 15 1.1 Breve História do PHP...................................... 15 1.1.1 PHP/FI.......................................... 15 1.1.2 PHP 3...........................................

Leia mais

Entendendo Injeção de SQL

Entendendo Injeção de SQL Entendendo Injeção de SQL Autor K4m1k451 < k4m1k451@gmail.com bere_bad@hotmail.com > 18/05/2009 Sumário: ---[ 0x00 Introdução... 4 ---[ 0x01 Desmistificando as single quotes... 4 ---[ 0x02 Injetando...

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO WEB

INTRODUÇÃO AO DESENVOLVIMENTO WEB INTRODUÇÃO AO DESENVOLVIMENTO WEB PROFª. M.Sc. JULIANA H Q BENACCHIO Formulários Os formulários em HTML são usados para selecionar diferentes tipos de entradas do usuário. Um formulário é uma área que

Leia mais

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

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Segurança Web com PHP 5

Segurança Web com PHP 5 Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Engineer douglas.pasqua@gmail.com Objetivo Disseminar boas práticas para o desenvolvimento de código seguro em php. Exemplificar como são feitos

Leia mais

Conceitos de extensões Joomla!

Conceitos de extensões Joomla! capítulo 1 Conceitos de extensões Joomla! Entendendo o que é extensão Extensão pode ser entendida como uma pequena aplicação desenvolvida com regras de construção estabelecidas pelo ambiente Joomla!. É

Leia mais

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

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

PHP Programando com Orientação a Objetos

PHP Programando com Orientação a Objetos PHP Programando com Orientação a Objetos 2 a edição Pablo Dall Oglio Novatec Sumário Sobre o autor... 13 Agradecimentos... 14 Nota do autor... 16 Organização do livro... 18 Capítulo 1 Introdução ao PHP...

Leia mais

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas O que é PHP? Acrônimo de PHP: Hipertext Language PostProcessor Inicialmente escrita para o desenvolvimento de aplicações Web Facilidade para iniciantes e recursos poderosos para programadores profissionais

Leia mais

C# - Conexão com MySQL

C# - Conexão com MySQL E S T A A P R E S E N T A Ç Ã O F O I E L A B O R A D A COMO M A T E R I A L DE A P O I O À A U L A DO P R O F E S S O R L E O L A R B A C K A O S A L U N O S DA E S C O L A T É C N I C A P O L I M I G.

Leia mais

Curso de Iniciação ao Framework PHP Yii

Curso de Iniciação ao Framework PHP Yii Curso de Iniciação ao Framework PHP Yii Igor Rafael igor at dcc.ufmg.br 12 de agosto de 2011 Conteúdo Visão Geral Configuração Fundamentos Estudo de caso Visão Geral O que é um framework? Coleção de bibliotecas

Leia mais

PHP. O navegador é responsável pelo tratamento do script. Utilizado para diminuir o processamento do servidor

PHP. O navegador é responsável pelo tratamento do script. Utilizado para diminuir o processamento do servidor PHP Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Scripts Client-Side O navegador é responsável pelo tratamento do script JavaScript e VBScript Utilizado para diminuir o

Leia mais

PHP INTRODUÇÃO CLASSES E OBJETOS

PHP INTRODUÇÃO CLASSES E OBJETOS INTRODUÇÃO PHP AULA 8 ORIENTAÇÃO A OBJETOS Professor: Leonardo Pereira E-mail: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si A orientação a objetos ou OO é o paradigma

Leia mais

PHP Seguro Ernani Azevedo (PROCERGS DRE/ARS Unix)

PHP Seguro Ernani Azevedo (PROCERGS DRE/ARS Unix) PHP Seguro Ernani Azevedo (PROCERGS DRE/ARS Unix) 1 Introdução A linguagem PHP, por ser muito flexível, normalmente é utilizada de forma insegura, tanto pelo desenvolvedor quanto pelos administradores

Leia mais

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing.

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. 15/11/2009 Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. Crie um novo projeto clicando em arquivo e em novo projeto. Escolha a opção java, aplicativo java

Leia mais

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Criando uma Calculadora Primeiramente deve se criar uma estrutura para armazenar os arquivos necessários para o funcionamento da calculadora.

Leia mais

Capítulo 4. Programação em ASP

Capítulo 4. Programação em ASP Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

Leia mais

Introdução ao BPEL utilizando o Oracle SOA Suíte 10g

Introdução ao BPEL utilizando o Oracle SOA Suíte 10g Introdução ao BPEL utilizando o Oracle SOA Suíte 10g 1. Introdução Neste artigo serão apresentados alguns conceitos inerentes a SOA Service Oriented Architecture e um exemplo prático de construção de processo

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais