UNIVERSIDADE KIMPA VITA ESCOLA SUPERIOR POLITÉCNICA DO UIGE DEPARTAMENTO DOS ASSUNTOS ACADÉMICO Trabalho do Grupo Nº 3 Caso prático Curso: Engenharia Informática Nível: 4º Ano Sala: 30 Orientado Por: Ano Lectivo: 2014 Prof: MAVAMBO DIANKATU 1
Integrantes do Grupo Nº 3 Nome: Luis Cangundo Dungo Nome: Deodato Faustino Nome: Fernando Adão Nome: Adão Solari Nome: Simão Nsingui Teca 2
ÍNDICE Introdução.. Pag 4 Capitulo I 1.1 A página de utilizador... Pag 5 1.2 Código php incorporado na pagina de utilizador...pag 6 1.2.1 Motor de busca. Pag 7 Capitulo II 2.1 Painel administrative......pag 8 2.2 Código php para enviar ficheiros. Pag 9 2.2.1 Código php para enviar ficheiro no mysql.....pag 10 2.3 Código php para eliminar registos no mysql....pag 11 2.4 Código php para actualizar registos no mysql....pag 12 Capitulo II 3.1 Mysql....Pag 13 Conclusão......Pag 14 3
INTRODUÇÃO Este trabalho irá abordar temas ligado ao php e mysql, duas linguagem de programação completamente distinta. O php é uma linguagem dinâmica para processamento de hipertexto que permite dinamismo em uma página Web. e o mysql é uma linguagem de consulta de dados que permite o servidor responder os pedidos requisitados por utilizadores. Assim o php e o mysql têm uma relação e podemos utilizar o php para fazer um pedido ao banco de dados e apresentarmos que requisitamos no banco de dados em uma página Web. De acordo o tema em epígrafe criamos uma biblioteca virtual para facilitar a entender o que é php e o que é mysql. Dividimos em três parte o trabalho como se trata de um site (Biblioteca Virtual) então criamos a Pagina do Utilizador, Página Administrativa e o banco de dados. 4
I. CRIAÇÃO DO SITE 1.1 A PÁGINA DE UTILIZADOR Para criamos a pagina de utilizador incorporamos também código html, embora o trabalho se trata de php e mysql é necessário também a linguagem de programação html para ajudar a organizar os dados que vêm a partir do banco de dados. Site esta estrutura com um cabeçario, menu uma coluna a esquerda, uma coluna no meio e outra coluna a direita também com um motor de busca. Como podem ver na imagem depois do menu tem a tabela com três colunas uma a esquerda, uma no meio e outra a esquerda. Nosso objectivo esta na coluna do meio porque é onde esta o nosso conteúdo, ou seja é a parte dinâmica da página o restante se mantém estático. A coluna do meio por ser a nossa parte dinâmica então é onde colocamos o código php. Atenção antes de começar com o código php é necessário que o banco de dados já esteja criado. Resto da pagina é html o código php apenas mostra o titulo do livro, a capa do livro, resumo do livro, subtítulo, nome do autor, cidade, edicao, editora, ano de publicacao, link para ler e link para download. 5
1.2 CÓDIGO PHP INCORPORADO NA PAGINA DE UTILIZADOR 1- $conexao = mysql_connect( localhost, root, ); 2- mysql_select_db( Biblioteca ); 3- query = select *from arquivos1 where codlivro between 1 and 3 ; 4- $res = mysql_query(query); 5- If(mysql_num_rows($res)>0): 6- While($linha = mysql_fetch_array($res)): 7- echo $linha[ titulo ]; etc. //conteúdo do banco de dados 8- endwhile; 9- else: 10- echo sem registo ; 11- Endif Este é código que permite apresentar todos os dados que estão na base de dados através de uma pagina Web SITE.php. Por exemplo Entre o passo 6 e o passo 8 temos o seguinte Código. 6- While($linha = mysql_fetch_array($res)): <table border= 0 width= 450 height= 25 bgcolor= 660066 > <tr> <td> <center> <font color= white > Titulo: echo $linha[ titulo ]; </font> </center> </td> </tr> </table> 8- Endwhile; Obs: Não podemos juntar os dois codigo html e php por isso primeiro fechamos o php incorporamos o código html e depois abrimos novamente php. 1.2.1 MOTOR DE BUSCA 6
Para o motor de busca na pagina de utilizador criamos o seguinte o código <form method = POST action= site1.php enctype= multpart/form-data > <input type= text name= buscar value= pesquisar no site /><input type= image src= /> </form> Na pagina Web site1.php mudamos apenas a consulta e acrescentamos o contador e a variável buscar, temos o seguinte o exemplo. 1- $buscar= $_POST[ buscar ]; 2- $ctr=0; 3- $conexao = mysql_connect( localhost, root, ); 4- mysql_select_db( Biblioteca ); 5- query = select *from arquivos1 where titulo like %$buscar% ; 6- $res = mysql_query(query); 7- If(mysql_num_rows($res)>0): 8- While($linha = mysql_fetch_array($res)): 9- ctr++; 10- echo $linha[ titulo ]; etc. //conteúdo do banco de dados 11- echo $ctr; 12- endwhile; 13- else: 14- echo nenhum livro foi encontrado ; 15- Endif 7
II. CRIAÇÃO DO SITE ADMINISTRATIVO 2.1 PAINEL ADMINISTRATIVO O Painel Administrativo é uma página Web sem código php e sem extenção php(painel ADMINISTRATIVO.html), Ela esta estrutura com um cabeçario, menu, área para upload de ficheiros e um formulário. Nesta página Web o código principal é o formulário vejamos o exemplo seguinte. <form method= POST action= guardar.php enctype= multpart/form-data > Capa: <input type= file name= capa /> Livro: <input type= file name= livro /> Dispunibliza Download: <input type= file name= download /> Titulo do Livro: <input type= text name= titulo /> Resumo<textarea name= resumo ></textarea> <input type= submit value= enviar /> </form> Obs: Demonstramos alguns campos do formulário para facilitar a compreender o próximo passo da página Web guardar.php. 8
2.2 CÓDIGO PHP PARA ENVIAR FICHEIROS O código php para enviar ficheiro esta incorporado na página Web guardar.php nesta pagina temos dois código php um para enviar ficheiro outro para enviar dados no mysql. Mas primeiramente iremos abordar do código php para enviar ficheiro. Importante saber que os ficheiros não enviamos na base de dados isto é para evitar que ela fica cheia rápido e muito pesada então na base dedos enviamos apenas o nome de cada ficheiro. Os ficheiros são enviados para pastas que criamos no nosso projecto como a pasta imagens(onde estão todas capas e outras imagens usadas no projecto), livros(onde estão todos os ficheiros com extensão pdf e docs) e downloads(onde estão todos os ficheiros com extensão rar e zip ). 1- $formatos = array('.jpg', '.png', '.doc', '.pdf', '.xlsx', '.zip', '.rar', '.jpeg'); 2- if( isset ($_POST['button']) ): $nomearq = $_FILES['capa']['name']; 3- $nometmparq = $_FILES['capa']['tmp_name']; $ext = substr($nomearq, strrpos($nomearq, '.')); $nomearq1 = $_FILES['livro']['name']; 4- $nometmparq1 = $_FILES['livro']['tmp_name']; $ext1 = substr($nomearq1, strrpos($nomearq1, '.')); $nomearq2 = $_FILES['download']['name']; 5- $nometmparq2 = $_FILES['download']['tmp_name']; $ext2 = substr($nomearq2, strrpos($nomearq2, '.')); 6- if((in_array($ext, $formatos)) (in_array($ext1, $formatos)) (in_array($ext2, $formatos))): 7- if((move_uploaded_file($nometmparq,"imagens/$nomearq"))&&(move_uploaded_file($ nometmparq1,"livros/$nomearq1"))&&(move_uploaded_file($nometmparq2,"downlos/ $nomearq2"))): 8- echo enviado com sucesso ; endif; 9- else{ 10- echo erro ficheiros não enviado ; } Endif; 11- else{ 12- echo formato diferente ; } Endif; 9
2.2.1 CÓDIGO PHP PARA ENVIAR FICHERO NO MYSQL Como já dissemos os dois códigos estão na mesma página Web guardar.php primeiro envia os ficheiros nas suas respectivas pastas e depois envia os nomes dos ficheiros inclusive outros dados como titulo do livro, subtítulo, nome do autor entre outros para o mysql. 1- $capa = $_FILES['capa']['name']; 2- $livro = $_FILES['livro']['name']; 3- $download = $_FILES['download']['name']; 4- $titulo = $_POST['titulo']; 5- $subtitulo = $_POST['subtitulo']; 6- $autor = $_POST['autor']; 7- $edicao = $_POST['edicao']; 8- $editora = $_POST['editora']; 9- $cidade = $_POST['cidade']; 10- $ano = $_POST['ano']; 11- $resumo = $_POST['resumo']; 12- $conexao = mysql_connect("localhost","root",""); 13- mysql_select_db("biblioteca"); 14- $query = "INSERT INTO arquivos1 VALUES (0, '$capa', '$titulo', '$subtitulo', '$autor', '$edicao', '$editora', '$cidade', '$ano', '$resumo', '$livro', '$download')"; 15- if($rs = mysql_query($query)): 16- echo enviado com sucesso ; 17- else{ 18- echo envio falhou ; } 19- endif; 10
2.3 CÓDIGO PHP PARA ELIMINAR REGISTOS NO MYSQL Primeiro criamos uma página Web eliminar.html onde incorporamos o seguinte código. <form enctype="multipart/form-data" action="eliminar.php" method="post"> Titulodo :<input type="text" name="eliminar" size="30"/><button> eliminar</button> </form> O código php para eliminar ficheiros no mysql esta incorporada na página Web eliminar.php. Nesta página temos dos código um para eliminar outro para confirmar se foi realmente o registo foi eliminado. Aqui esta o código php para confirmar a eliminação. 1- $eliminar = $_POST['eliminar']; 2- $conexao = mysql_connect("localhost","root",""); 3- mysql_select_db("biblioteca"); 4- $query = "SELECT titulo FROM arquivos1 where titulo='$eliminar' "; 5- $res = mysql_query($query); 6- if(mysql_num_rows($res) > 0): 7- while($linha = mysql_fetch_array($res)): 8- echo! Livro Eliminado Com sucesso ; echo $linha['titulo']; 9- endwhile; 10- else: 11- echo escreve correctamente o titulo do livro ; 12- endif; Este código abaixa é que elimina o registo caso o titulo realmente se encontra na base de dados 1- $eliminar = $_POST['eliminar']; 2- $conexao = mysql_connect("localhost","root",""); 3- mysql_select_db("biblioteca"); 4- $query = "Delete *FROM arquivos1 where titulo = '$eliminar' ;"; 5- $rs = mysql_query($query) 11
2.2 CÓDIGO PHP PARA ACTUALIZAR REGISTOS NO MYSQL Primeiro criamos uma página Web actualizar.html onde incorporamos o seguinte código html. <form enctype="multipart/form-data" action="actualizar.php" method="post"> Titulo Actual :<input type="text" name="antigo" size="30"/><br> Novo Titulo:<input type="text" name="novo" size="30"/><br> <button> eliminar</button> </form> O código php para actulizar ficheiros no mysql esta incorporada na página Web actulizar.php. Nesta página temos dos código um para actulizar outro para confirmar se foi realmente o registo foi actulizar. Aqui esta o código php para confirmar a actulização. 1- $antigo = $_POST['antigo']; 2- $conexao = mysql_connect("localhost","root",""); 3- mysql_select_db("biblioteca"); 4- $query = "SELECT titulo FROM arquivos1 where titulo='$antigo' "; 5- $res = mysql_query($query); 6- if(mysql_num_rows($res) > 0): 7- while($linha = mysql_fetch_array($res)): 8- echo! Livro Eliminado Com sucesso ; echo $linha['titulo']; 9- endwhile; 10- else: 11- echo escreve correctamente o titulo do livro ; 12- endif; 1- $novo = $_POST[ novo ]; 2- $antigo = $_POST[ antigo ]; 3- $conexao = mysql_connect( localhost, root, ); 4- Mysql_select_db ( biblioteca ); 5- $query = UPDATE arquivos1 SET titulo = '$novo' where titulo='$antigo' ; 6- $res = mysql_query($query); 12
I. CRIAÇÃO DA BASE DE DADOS 3.1 MYSQL Quanto ao mysql não temos a falar apenas salhentar que a base de dados deve estar a rodar dentro de um servidor no nosso caso nós usamos o wampserver para facilitar manter o apache o php e o mysql todos a rodarem no mesmo ambiente. Usamos o phpmyadmin para criarmos a nossa base de dados, o nome da base de dados é Biblioteca e a table é arquivos1 os campos na tabela são: codlivro, capa, titulo, subtítulo, autor, edicao, editora, cidade, ano, resumo, ler, download. Obs: Os campos como capa, ler, e download não são campos blob para guardar ficheiros. Eles são campos varchar para armazenar o nome dos ficheiros e não para guarda los. Só para lembrar que os ficheiros eles ficam nas suas respectivas criadas no projecto. Nota: O campo capa nele fica o nome da imagem que é a capa do livro ex. felicidade.png, e ler nele fica o nome ficheiro que contém o conteúdo neste caso o livro ex. felicidade.pdf, já download nele fica o nome do ficheiro que será baixado ex. felicidade.rar. 13
CONCLUSÃO Chegamos a conclusão que é possível sim houver comunicação entre o php e o myql e que os dois são duas linguagem de programação muito distintas. Notamos também que o código php não se pode juntar com o código html primeiro fechamos php colocamos o código html e depois voltamos abrir o php. Chegamos Também a conclusão que o php é uma linguagem de processamento de hipertexto e que só funciona na presença de um servidor on line ou offline. Servidor offline nos refirimos aos servidores local como no caso do wampserver, easyphp Xamp e outros. 14