LAB 5 Formulários com PHP

Documentos relacionados
LAB 5 Formulários com PHP

LAB 7 Cookies e Sessões em PHP

LAB 8 em PHP. 1. Assume-se neste lab que concluiu com sucesso o LAB7. Copie todos os ficheiros da pasta LAB7 para a pasta LAB8.

LAB 10 Programação com o framework CodeIgniter [parte 2]

LAB 9 Programação com o framework Codeigniter [parte 1]

LAB 12 Construção de uma E-shop (programação em HTML, CSS, Bootstrap, PHP, CodeIgniter, JavaScript, JQuery, AJAX)

LAB 11 Programação em JavaScript, JQuery, e AJAX

LAB 11 Programação em JavaScript, JQuery, e AJAX

LAB 12 Construção de uma E-shop (programação em HTML, CSS, Bootstrap, PHP, CodeIgniter, JavaScript, JQuery, AJAX)

Bases de Dados 2015/2016. Enunciado do Projeto Parte 2. O trabalho a desenvolver para a primeira parte do projeto consiste nos seguintes itens:

Prof. Dr. Joaquim Assunção Banco de Dados. SQL (parte 4) DDL Restrições

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

PSI Linguagem de Definição de dados. Módulo 15

Começando com Zend Framework

História. Introdução ao MySQL

Database and Applications. Criação, inserção de dados PHP+MySQL

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

Professor Leonardo Larback

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS I PROFA. CLEIANE GONÇALVES OLIVEIRA ATIVIDADE 15

Cadastros de dados no MySQL

Manual de Instalação. Servidor Web LAMP

José Vieira & José Esmeriz. Universidade do Minho

Conexão do Banco de Dados localhost

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

PHP e MySQL Autenticação de Usuários

Linguagem SQL (Parte II)

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

3.1-Criar BD e Tabelas.

Configuração do banco de dados. - Crie o banco de dados no MySQL. - Abrir o arquivo app/database/database.conf.php

TRABALHO FINAL 20 Pontos

Autenticação Segura. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Migrando de rede NAT para rede roteada

EXERCÍCIOS PRÁTICOS DE REVISÃO. Banco de Dados

Transacções. Vitor Vaz da Silva

Gestão de Projectos de Software

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

AMBIENTE WEB PARA GERÊNCIA DE PROCESSO DE SOFTWARE BASEADO NO SCRUM

Bases de Dados. Lab 1: Introdução ao ambiente

Configurar ISE 2.2 para a integração com server de MySQL

1 R$ 50,00 R$ 50,00 reusable object-oriented software 2 Utilizando UML e padrões: uma

Sistema para Gerenciamento de Lanchonete(hamburgueria)

Integração por Web Services

INSERT INTO shop VALUES (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69), (3,'D',1.25),(4,'D',19.95);

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

GUIA PHP com MYSQL Autor: Everton Mendes Messias

A linguagem SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Programação Web Prof. Wladimir

2.1-Criar BD e Tabelas.

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

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

Prefácio. Objetivo. Público alvo. Convenções utilizadas neste manual. Tabela 1. Convenções do manual

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

Composição Web. Laboratório 0: Serviços de Comunicação na Internet. Prof. Lúcio Studer Ferreira

Tarefa Orientada 8 Criação de tabelas

Programação para web HTML: Formulários

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

Sumários de REDES de COMUNICAÇÃO

SMC Sistema de Gerenciamento de Loja de Manutenção de Celular.

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

7.1-Criar BD e Tabelas.

PERIVER PLATAFORMA INSTALLATION MANUAL. Periver_InstallationManual_ _v1.0.doc. Versão v1.0

Modelo Cliente/Servidor Por HIARLY ALVES

Banco de Dados. Professora: Luciana Faria

MySQL + PHP 06/05/2015. IFSC/campus Florianópolis Programação para a WEB Prof. Herval Daminelli

Configurando a Autenticação de Requisições HTTP com o CE Executando o ACNS e o Microsoft Active Directory

Configurar o ODBC em ISE 2.3 com base de dados Oracle

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Departamento de Computação Curso de Análise e Desenvolvimento de Sistemas Modelagem Conceitual de Dados

Marcos Alexandruk Marcos Alexandruk

SQL Básica. Andre Noel

ANEXO I. easypay sistema de pagamentos. Especificações técnicas para a implementação de web services easypay Get e XML. 10 de Abril de 2008 Ver B

Sessão e inclusão de arquivos no PHP

Sumários de REDES de COMUNICAÇÃO

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

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

PARTE 4 DREAMWEAVER. Vamos continuar a trabalhar com o modelo. O rodapé ficará com o campo. O cabeçalho com o campo

Modelagem de banco de dados com MySQL Workbench

Interagindo com Banco de Dados

Tutorial para Instalação do dotproject

ZendWi Presentation 19/10/2012

C A D E R N O D E P R O V A S

Virtual Hosting com PureFTPd e MySQL

BANCO DE DADOS TABELAS SQL. Professor Carlos Muniz

Bases de Dados 1º semestre

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

INSTALAÇÃO DO WORDPRESS EM SERVIDOR GRATUITO BYETHOST. Marco Madruga 2018

Manual FPO 22-Jan-2007 Actualizado em 03-Fev-2015

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


Configuração. Ubuntu Server Sistemas Distribuídos Engenharia da Computação

Técnico Integrado em Informática. Programação WEB (PRW) Introdução ao PHP

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

Tarefas práticas da disciplina Gerência de Infraestrutura de TI

Tarefas práticas da disciplina Gerência de Infraestrutura de TI

Transcrição:

LAB 5 Formulários com PHP 1. Seguindo as instruções no ANEXO 1 crie a sua própria base de dados. Crie duas tabelas com a estrutura descrita no ANEXO 2. Assume-se aqui que completou com sucesso o LAB 4. Copie os ficheiros index_template.html, index.php, db.php, da pasta LAB4 para a pasta LAB5 ; faça as alterações necessárias no ficheiro db.php (ANEXO 3) para utilizar a sua propria base de dados. 2. Construa o template register_template.html NOTA: Os screenshots apresentados são ilustrativos. Utilize o seu layout que idealizou no LAB2 ou no LAB3; apenas é requerido que os templates tenham (no mínimo) os campos/placeholders que aparecem no screenshot Utilizando a linguagem PHP e a template engine HTML_Template_IT, com auxilio do template register_template.html, construa o ficheiro register.php que faz o preenchimento das variáveis ( placeholders ) em register_template.html com os dados já introduzidos (nome, email) no caso de tentativa de registo falhada. Os dados já introduzidos são enviados de volta pela acção register_action.php (mais detalhes no ponto 2 a seguir) Em particular, deve colocar no placeholder MESSAGE uma mensagem informando qual o erro no registo (por exemplo email já existe). LabPHPForm 1/6

2. Construa o ficheiro register_action.php que: (a) em caso de sucesso, 1. vai actualizar os campos da base de dados no caso de sucesso (name, email, created_at, updated_at, password_digest). A password_digest é a hash utilizando o algoritmo MD5 da password: substr(md5($_post['pass1_utilizador']),0,32). Pode utilizar a função MySQL CURDATE()ou a função PHP date("y-m-d H:i:s") para actualizar os campos created_at, updated_at. 2. re-direcciona para a página register_success.html header("location: register_success.html"); A página register_success.html contem uma meta-tag que redirecciona automaticamente para index.php passados 3 segundos: <meta http-equiv="refresh" content="3; url=index.php" /> (b) em caso de erro, re-direcciona novamente para a página de registo register.php. A tentativa de registo considera-se falhada se (a) o email já existe na base de dados (b) o email não é valido (c) a repetição da password não coincide. Comunique os dados (nome, tipo de erro) de register_action.php para register.php com um link com dados embebidos *, por exemplo header("location:register.php?error=1&name=joao%20silva"); * Não utilize cookies, estes serão utilizados preferencialmente nos próximos laboratórios. LabPHPForm 2/6

3. Faça o upload dos ficheiros register_template.html register.php register_action.php register_success.html para a pasta LAB5 no seu site web pessoal http://all.deei.fct.ualg.pt/~a12345/lab5 Considere o LAB5 concluído quando tiver reproduzido a funcionalidade no seu site web pessoal. REFERÊNCIAS: http://intranet.deei.fct.ualg.pt/daw/reload-problem/good/files.html http://intranet.deei.fct.ualg.pt/daw/embeddedlinks/files.html http://intranet.deei.fct.ualg.pt/daw/auth-dbsessions/source.php?url=/adi/auth-db-sessions/signup_action.php http://www.adeec.fct.ualg.pt/~figo/auth-db-sessions/signup.html LabPHPForm 3/6

ANEXO 1 Criação da base de dados MySQL - Faça login (por exemplo com o PuTTY) no servidor daw (IP 10.10.23.183) - Pode criar a sua base de dados MySQL com o seguinte comando: a12345@daw:~$/usr/local/bin/mysql-db - O acesso à base de dados MySQL pode ser feita utilizando um cliente gráfico à sua escolha (por exemplo http://www.heidisql.com/), ou em linha de comando a12345@daw:~$mysql -u a12345 -p -h 10.10.23.183 db_a12345 (substitua 12345 pelo seu numero de aluno) ou ainda utilizando o software phpmyadmin disponível no URL http://all.deei.fct.ualg.pt/phpmyadmin LabPHPForm 4/6

ANEXO 2 : estrutura da base de dados A estrutura da base de dados pode ser criada na shell de MySQL com o comando a12345@daw:~$mysql -u a12345 -p -h 10.10.23.183 \ db_a12345 < db.sql onde db.sql é um ficheiro que contem CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) default NULL, `email` varchar(255) default NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, `password_digest` varchar(255) default NULL, `remember_digest` varchar(255) default NULL, `admin` tinyint(1) default NULL, `activation_digest` varchar(255) default NULL, `activated` tinyint(1) default NULL, `activated_at` datetime default NULL, `reset_digest` varchar(255) default NULL, `reset_sent_at` datetime default NULL, PRIMARY KEY (`id`), UNIQUE KEY `index_users_on_email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `microposts` ( `id` int(11) NOT NULL auto_increment, `content` text, `user_id` int(11) default NULL, `created_at` datetime NOT NULL, `updated_at` datetime default NULL, PRIMARY KEY (`id`), KEY `fk_user_id` (`user_id`), CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Em alternativa, pode utilizar a interface web phpmyadmin disponivel em http://all.deei.fct.ualg.pt/phpmyadmin LabPHPForm 5/6

ANEXO 3 : instruções de acesso à base de dados (código em db.php) Substitua 12345 pelo seu numero de aluno e PASS pela password que lhe foi atribuida quando gerou a sua base de dados a12345@daw:~/public_html/lab5$ cat db.php <?php // mostra uma mensagem de erro vinda do mysql function showerror() { die("error ". mysql_errno(). " : ". mysql_error()); $hostname = "10.10.23.183"; $db_name = "db_a12345"; $db_user = "a12345"; $db_passwd = "PASS"; // faz uma conexão a uma base de dados function dbconnect($hostname, $db_name,$db_user,$db_passwd) { $db = @ mysql_connect($hostname, $db_user,$db_passwd); if(!$db) { die("nao consigo ligar ao servidor da base de dados."); if(!(@ mysql_select_db($db_name,$db))){ showerror(); return $db;?> LabPHPForm 6/6