APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV CIÊNCIA DA COMPUTAÇÃO PROF. ERWIN ALEXANDER UHLMANN Universidade Guarulhos Página 1 Agradecimentos Agradeço a todos os alunos que com suas dúvidas me ajudaram a criar este pequeno trabalho, à UnG que me abriu esta oportunidade. Universidade Guarulhos Página 2 Conteúdo Agradecimentos ...................................................................................................... 2 Objetivo................................................................................................................... 4 Linguagens de estudo .............................................................................................. 4 PHP....................................................................................................................... 4 O que é o PHP?.................................................................................................. 4 SQL....................................................................................................................... 4 Pré-requisitos ....................................................................................................... 4 Softwares .............................................................................................................. 6 PHP Editor ......................................................................................................... 6 Kompozer.......................................................................................................... 7 Microsoft Expression Web 3 ............................................................................. 8 Adobe Dreamweaver CS4 ................................................................................. 9 Bloco de Notas ................................................................................................ 10 O QUE É UM APLICATIVO PARA WEB? .............................................................. 10 COMO FUNCIONA UM APLICATIVO PARA A WEB ............................................. 11 Aula 2 .................................................................................................................... 15 Consultas............................................................................................................ 15 Inserção de dados .............................................................................................. 16 Aula 3 .................................................................................................................... 18 Exclusão de dados.............................................................................................. 18 Método do while. ............................................................................................ 18 Método for. ..................................................................................................... 20 Aula 4 .................................................................................................................... 22 Página do usuário ............................................................................................... 22 Exclusão de registros ......................................................................................... 23 AULA 5 ................................................................................................................... 25 Edição de dados ................................................................................................. 25 BIBLIOGRAFIA: ...................................................................................................... 29 BÁSICA: .............................................................................................................. 29 SUPLEMENTAR: .................................................................................................. 29 PERIÓDICOS: ..................................................................................................... 29 Universidade Guarulhos Página 3 Objetivo Desenvolver um site dinâmico com uso de Banco de Dados que atenda a qualquer situação. Linguagens de estudo PHP e SQL. PHP O que é o PHP? PHP originalmente significa “Personal Home Page Tools” ou também conhecido como PHP/FI com o mesmo significado porém “/Forms Interpreter” e evoluiu para “Hypertext Preprocessor”. Foi criado em 1994 por Rasmus Lerdorf, com código aberto, por tanto gratuito. Em 1997 mais de 50.000 só no Estados Unidos já utilizavam esta tecnologia. Atualmente contamos com a 5ª versão que foi lançada em 2007. Por que e o quê? Rápido, robusto, cross-plataform, ou seja, funciona em qualquer sistema operacional, estável e gratuito! O que ele pode fazer? Praticamente tudo o que uma linguagem de computação pode fazer. SQL SQL é uma linguagem que vem do acrônimo inglês Structured Query Laguage, ou seja, Linguagem de Consulta Estruturada. Essa linguagem é utilizada por diversos Sistemas Gerenciadores de Banco de Dados (SGBD). Um SGBD é importante por permitir a fácil interação com o Banco de Dados (BD). Neste curso utilizaremos o SGBD MySQL, que é gratuito, pequeno, rápido, robusto e tem a maior interação com o PHP. Pré-requisitos Antes começar a trabalhar com o PHP, são necessários alguns passos. Primeiro você precisará do programa PHP que fará a linguagem ser interpretada pelo computador e um servidor. Mas existem programas que já trazem estes programas embutidos e mais alguns. Universidade Guarulhos Página 4 O Vertrigo será o utilizado ao longo do curso, mas exitem outros, como é o caso do XAMPP que pode até ser instalado em um PEN DRIVE. Vá até o site do Vertrigo e baixe a versão mais recente. http://vertrigo.sourceforge.net/ Para instalar é fácil e basta seguir os passos recomendados pelo programa. Inicie sempre o Vertrigo, antes de começar a trabalhar com o PHP. Caso ele não consiga iniciar e informe problemas com a porta 80, no Painel de Controle do Windows, em Ferramentas Administrativas, e em seguida em Serviços, interrompa os programas que utilizem esta porta. Na maioria dos casos são os softwares de comunicação como o Messenger, Skype, entre outros e também o servidor ISS, caso o tenha.Este modelo de relatório está completo com estilos para um sumário e um índice. Também é importante lembrar que nos sistemas operacionais Windows Vista e Windows 7 (Seven), ao instalar é necessário aplicar as permissões de segurança à pasta, em Propriedades, na guia Segurança. Veja na figura 1. Universidade Guarulhos Página 5 Figura 1 - Propriedades de pastas do Windows Softwares Além é claro do servidor Web, como o Vertrigo, Xampp, Easy PHP e outros, podemos trabalhar com os seguintes editores de PHP: PHP Editor Nota: 7,5. O PHP Editor é um dos melhores editores de PHP em modo texto, com assistente de programação, em Português brasileiro, grátis, estável e com apoio ao HTML e ao Javascript também. Veja o software na figura 2. Universidade Guarulhos Página 6 Figura 2 - PHP Editor Faça o Download do PHP Editor aqui. Kompozer Nota: 6.0 O Kompozer é um editor do tipo WYSIWYG (What You See Is What You Get), ou seja, ele é visual, o que você programa é o que aparecerá. Desenvolvido pela Mozilla, é gratuito, pequeno, estável e com suporte ao HTML e CSS. Aceita a programação PHP e Javascript, porém não tem suporte. Trabalhar em conjunto com o PHP Editor é recomendável. Veja sua interface na figura 3. Universidade Guarulhos Página 7 Figura 3 - Kompozer Para fazer o download do Kompozer, clique aqui. Microsoft Expression Web 3 Nota: 8,5. A Microsoft vem tentando e conseguindo concorrer com a Adobe, proprietária do Dreamweaver. Com o Expression Web, ou seu estúdio completo, a Microsoft progrediu muito seja na qualidade do software como com seu apoio a diversas linguagens como PHP, Javascript, ASP, HTML, XML, entre outras. Interface medianamente intuitiva, mas de fácil adaptação para quem tem conhecimento dos recursos da Web, também sendo WYSIWYG. Saiba mais sobre o Expression Studio em: http://www.microsoft.com/portugal/expression/features/default.aspx?key=studio Para os alunos regularmente matriculados, a Universidade Guarulhos mantém um acordo com a Microsoft que fornece gratuitamente alguns softwares, entre eles o Expression Web, Saiba mais em: http://www.ung.br/servicos_softwares.php Veja a interface do Expression Web na figura 4. Universidade Guarulhos Página 8 Figura 4 - Expression web Adobe Dreamweaver CS4 Nota: 10,0. O Dreamweaver é o mais importante e famoso software de edição de páginas Web WYSIWYG. Com um vasto apoio a diversas linguagens, dispensa muitas apresentações. Complexo e com interface medianamente intuitiva, mas de fácil manuseio para quem conhece o mundo Web. Para teste, pode ser baixado diretamente do site da Adobe. www.adobe.com.br Veja a Interface do Dreamweaver CS3 na figura 5. Universidade Guarulhos Página 9 Figura 5 - Dreamweaver Bloco de Notas Nota: 2,5. Fácil, mas sem nenhum suporte à nenhuma linguagem o Bloco de Notas permite escrever qualquer programa. Disponível no Windows nativamente. Ao longo do curso vamos estudar utilizando principalmente o PHP Editor e o Dreamweaver, que serão identificados com o PE para PHP Editor e DW para o Dreamweaver. Ainda no campo dos softwares, é importante também instalar alguns navegadores, como o Firefox, da Mozilla, o Opera e o Safari da Apple, pois alguns recursos aqui apresentados podem se comportar de forma diversa em cada um dos navegadores. O QUE É UM APLICATIVO PARA WEB? Um aplicativo para a web é um site que contém páginas armazenadas em um servidor com conteúdo parcialmente ou totalmente indeterminado. O conteúdo final de uma página será determinado somente quando o usuário solicitar uma página do servidor web. Uma vez que o conteúdo final da página varia de acordo com cada pedido de ação do usuário, este tipo de página é chamado página dinâmica. Os aplicativos para a web são criados para solucionar diversos desafios e problemas. Esta seção descreve usos comuns de aplicativos para a web e fornece um exemplo simples. Universidade Guarulhos Página 10 COMO FUNCIONA UM APLICATIVO PARA A WEB Um aplicativo para a Web é um conjunto de páginas normais e dinâmicas. Uma página normal é um página que não é modificada quando solicitada pelo usuário: o servidor web envia a página ao navegador que a solicitou sem modificá-la. Em contraste, uma página da web dinâmica é modificada pelo servidor antes de ser enviada ao navegador. Chama-se página dinâmica devido à sua natureza variável. Por exemplo: é possível criar uma página para exibir resultados do programa de boa forma e deixar certas informações (nome do funcionário e resultados) a serem determinadas quando a página for solicitada por um funcionário. Processamento de páginas estáticas. Figura 6 - Processamento de páginas estáticas. Universidade Guarulhos Página 11 Figura 7 - Processamento de páginas dinâmicas Vamos começar com a criação do BD, para tanto inicie o sua suíte php preferida. Ao longo deste curso utilizaremos telas e exemplos com uso do Vertrigo, mas não se preocupe, como são apenas programas de interação com os programas base como PHP, MySQL e PhpMyAdmin, pouco mudará. Abra o PhpMyAdmin, o usuário é root e a senha é vertrigo, por padrão, caso você useo XAMPP o usuário é root e a senha é em branco e no caso de se utilizar o SQLite o usuário é admin e a senha admin. Vamos criar um BD com o criativo nome ung_lpiv. Note que escrevi com letras minúsculas. Universidade Guarulhos Página 12 Figura 8 - Iniciar o PhpMyAdmin Figura 9 - Interface do PhpMyAdmin A princípio vamos criar apenas uma tabela chamada usuarios e com os seguintes campos: Universidade Guarulhos Página 13 usu_id - int(11) – auto_increment – key usu_nome – varchar(50) usu_email – varchar(50) usu_senha - varchar(32) usu_foto – varchar(50) Agora vamos conectar o PHP ao MySQL. Abra seu editor PHP e escreva: <?php //escolha a qual BD se conectar //na ordem, onde está o BD, o login e a senha $conexao = mysql_pconnect("localhost", "root", "vertrigo"); //escolha o BD mysql_select_db("ung_lpiv"); ?> Note que você pode utilizar a função mysql_connect para realizar uma ação pontual ou a função mysql_pconnect que permitirá realizar diversas ações, porém deverá, ao final, fecahr a conexão, pois a diferença é que ela é persistente. Poderemos fazer essa codificação em todas as páginas, no entanto, se um dia modificarmos o BD ou o endereço, deveremos mudar todas as páginas, para isso vamos utilizar a função include: <?php include("conecta.php"); ?> Para fechar utilize: <?php mysql_close($conexao); ?> Ao final da estrutura </html>. Universidade Guarulhos Página 14 Aula 2 Consultas Para realizar consultas no BD (MySQL) com o PHP, vamos utilizar o código: <?php $dados = mysql_query('SELECT * FROM usuarios'); $linhas = mysql_num_rows ($dados); echo "A tabela usuários tem $linhas linhas.<br />"; $colunas = mysql_num_fields ($dados); echo "A tabela usuários tem $colunas colunas.<br />"; $nome_col0 = mysql_field_name($dados, 0); echo "O noma da primeira coluna é <strong>$nome_col0 </strong>, ela é identificada pelo índice 0.<br />"; $nome_col1 = mysql_field_name($dados, 1); echo "O nome da segunda coluna é <strong>$nome_col1 </strong>, ela é identificada pelo índice 1.<br />"; ?> A linha $dados = mysql_query('SELECT * FROM usuarios'); realiza a função de fazer uma consulta (mysql_query) e a instrução SQL é 'SELECT * FROM usuarios'. Ao armazenar a consulta na variável $dados, podemos utilizá-la em diversas partes do programa. Na linha $linhas = mysql_num_rows ($dados); a função mysql_num_rows retorna quantas linhas existem no BD, se valendo dos dados armazenados na variável $dados, criada na linha anterior. mysql_num_fields, número de campos, mysql_field_name, o nome do campo e neste caso, os parâmetros são, $dados criado no início e a coluna desejada, 0, 1, 2, etc. Agora vamos consultar os dados do BD. <?php $usu_id = mysql_result($dados, 0, "usu_id"); echo "<br /> O Id do primeiro usuário é: $usu_id<br />"; ?> A função mysql_result é a responsável pela consulta. Os parâmetros são: $dados – criado no início; 0 – o registro, a linha; usu_id – o campo, coluna. Exercício: Crie o BD, a conexão, a página índex e retorne todos os dados do registro 0. Universidade Guarulhos Página 15