Você está na página 1de 47

Data Base and Web Applications

Criao, insero de dados PHP+MySql PHP+MySql

Data Base and Web Applications phpMyAdmin


uma aplicao de fcil utilizao que serve para controlar base de dados MySql. Pode-se utilizar para criar, copiar, apagar, renomear e alterar tabelas, fazer a manuteno de tabelas, apagar, editar e adicionar campos, exportar ou importar um base de dados, e muito mais.

Data Base and Web Applications


http://localhost/phpmyadmin/

Data Base and Web Applications Como criar uma base de dados Existem duas possibilidades: Atravs do ambiente grfico Atravs do comando SQL

Data Base and Web Applications Ambiente grfico

Inserir o nome da base de dados

Data Base and Web Applications Comando

SQL
CREATE DATABASE `cliente` ;

Chamar janela SQL janela SQL

Data Base and Web Applications


Criar tabela tabela dados_cliente(id_cliente,nome,email,contacto) dados_cliente(id_cliente,nome,email,contacto)

InsereInsere-se os atributos tendo em conta o tipo de dado e chave primaria

Data Base and Web Applications Criao da tabela usando o comando sql CREATE TABLE `cliente`.`dados_cliente` ( `id_cliente` INT NOT NULL AUTO_INCREMENT , `nome` VARCHAR( 20 ) NOT NULL , `email` VARCHAR( 30 ) NOT NULL , `contacto` VARCHAR( 15 ) NOT NULL , PRIMARY KEY ( `id_cliente` ) );

Data Base and Web Applications Insero dos dados

Seleccione o campo inserir

Insero dos dados

Campo de insero dos dados

Data Base and Web Applications

INSERT INTO `cliente`.`dados_cliente` (`id_cliente` ,`nome` ,`email` ,`contacto` ) VALUES (NULL , 'Felix singo', 'fsingo@up.ac.mz', '+25882xxxxxxx');

Clique executar

Data visualizar os dados ComoBase and Web Applications registados

Selecione o campo visualizae

Tabela dados_cliente com dados

Data Base and Web Applications

Criando os cdigos
cdigo HTML, PHP e MySql para inserir e exibir as informaes registradas no banco de dados. Criaremos agora 4 arquivos:

Data Base and Web Applications 3Ficheiuros:


formulario.html - ficheiro em HTML usado para "pegar" os dados.

config.php - ficheiro para a conexo com o BD.

Registar_dados_formulario.php ficheiro para insero dados na Tabela "dados".

Data Base and Web Applications Formulario.html


<body bgcolor="#CACAFF"> <div align="center"><strong>Dados Pessoais</strong></div> <form method="post" action="registar_dado_formulario.php"> <table width="220" border="1" align="center" bgcolor="#3737FF"> <tr> <td width="52">Nome</td> <td width="152"><label> <input type="text" name="nome" /> </label></td> </tr> <tr> <td>Email</td> <td><label> <input name="email" type="text" id="email" /> </label></td> </tr> <tr> <td>contacto</td> <td><label> <input name="contacto" type="text" id="contacto" /> </label></td> </tr> </table> <p align="center"> <label> <input name="Submit" type="submit" id="Submit" value="registar" /> </label> </p> </form> </body>

Data Base and Web Applications


Codigo fonte do formulario

<body bgcolor="#CACAFF"> bgcolor="#CACAFF"> <div align="center"><strong>Dados Pessoais</strong></div> Pessoais</strong></div> <form method="post" action="registar_dado_formulario.php"> <table width="220" border="1" align="center" bgcolor="#3737FF"> bgcolor="#3737FF"> <tr> tr> <td width="52">Nome</td> <td width="152"><label> <input type="text" name="nome" /> name="nome" </label></td> </tr> </tr>

Data Base and Web Applications


<tr> tr> <td>Email</td> <td><label> <input name="email" type="text" id="email" /> </label></td> </tr> </tr> <tr> tr> <td>contacto</td> <td>contacto</td> <td><label> <input name="contacto" type="text" id="contacto" /> name="contacto" id="contacto" </label></td> </tr> </tr> </table> <p align="center"> <label> <input name="Submit" type="submit" id="Submit" value="registar" /> value="registar" </label> </p> </form> </body>

Data Base and Web Applications Algumas funes MySQL no PHP


mysql_connect() Estabelece uma conexo com um Base de Dados MySQL. mysql_query() Executa uma funo em um Base de Dados MySQL. Caso o link no for especificado, a ltima conexo aberta com o MySQL ser usada. mysql_num_rows() Retorna o nmero de linhas de uma consulta. Esse comando valido apenas para consultas com SELECT. mysql_result() Retorna o resultado de campo nico. O identificador de campo pode ser deslocamento de campo (0), nome de campo [FirstName] ou nome de tabela de ponto (myfield.mytable).

Data Base and Web Applications


mysql_select_db() Junto com a mysql_connect e a mysql_query, forma o grupo das 3 funes bsicas. com ela que o utilizador selecciona a base de dados onde ir trabalhar.

Obs.: dados. Obs.: somente o base de dados, e no a tabela de dados.

Data Base and Web Applications Config.php


<?php $local_serve = "localhost"; // local do servidor $usuario_serve = "root"; // nome do usuario $senha_serve = singo"; // senha $base_de_dados = "cliente"; // nome da base de dados $conn = mysql_connect($local_serve,$usuario_serve,$senha_serve) or die ("O servidor no responde!"); // conecta-se ao base de dados conecta$db = mysql_select_db($base_de_dados,$conn) or die ("No foi possivel conectar-se ao banco de dados!") conectar?>

Data Base and Web Applications Registar_dados_formulario


<?php //Arquivo para conectar a base de dados require('config.php') ?> <?php //declarao de variaveis $nome=$_POST[nome]; $email=$_POST[email]; $contacto=$_POST[contacto];

Data Base and Web Applications


O mesmo nome definido na criao da tabela (id_cliente, nome, etc...)

$sql="INSERT INTO `cliente`.`dados_cliente` (`id_cliente`, `nome`, `email`, `contacto`) VALUES ('', '$nome', '$email', '$contacto');"; $resultado=mysql_query($sql) or die ('ERRO!'); print "<script>javascript:alert('Registo efectuado com sucesso')</script>"; ?>

Data Base and Web Applications Consultas, Actualizaes

Data Base and Web Applications Consulta_id.php Consultar atravs do ID do cliente


<form action="resultado_consulta.php" method="post"> <div align="center">Nr de ID <input name= "id_cliente" type="text" id="id_cliente" /> <input type= "submit" value="consultar" /> </div> </form>

Data Base and Web Applications


Resultado_consulta.php

Data Base and Web Applications


Codico fonte
<?php include("config.php"); ?> <?php $id_cliente = $_POST["id_cliente"]; $sql = "SELECT * from dados_cliente where id_cliente='$id_cliente' ;"; $qry=mysql_query($sql); $i=0; if(mysql_num_rows($qry) >0){ $id_cliente = mysql_result($qry,$i,"id_cliente"); $nome = mysql_result($qry,$i,"nome"); $email = mysql_result($qry,$i,"email"); $contacto = mysql_result($qry,$i,"contacto"); } ?>

Data Base and Web Applications


<table width="454" height="118" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF" class="style20" > <tr> <td height="28" colspan="2" bgcolor="#FFFFFF" class="style20"><div align="center" class="style25"><span class="style23"><strong>Nr de ID </strong>:</span>&nbsp;&nbsp;<?php echo $id_cliente ?></div></td> </tr> <tr> <td width="169" class="style20 style25">Nome</td> <td width="279" height="26" class="style20"><span class="style25"><?php echo $nome ?></span><span class="style25"></span></td> </tr> <tr> <td class="style20"><strong>Email</strong></td> <td height="31" class="style20"><span class="style25"><?php echo $email ?></span></td> </tr> <tr> <td class="style20"><strong>Contacto</strong></td> <td height="31" class="style20"><span class="style25"><?php echo $contacto ?></span></td> </tr> </table>

Data Base and Web Applications


Consultar todos dados da tabela relatorio_geral.php

Data Base and Web Applications

<table width="389" border="0" align="center" cellpadding="1" cellspacing="2" id="new"> <tr align="center"> <td width="81" bgcolor="#CAE4FF"><div align="center" class="style20 style2 style8">Nr registo</div></td> <td width="104" bgcolor="#CAE4FF"><div align="center" class="style20 style2 style8">Nome</div></td> <td width="87" bgcolor="#CAE4FF"><div align="center" class="style20 style2 style8">Email</div></td> <td width="99" bgcolor="#CAE4FF"><div align="center" class="style20 style2 style8">Contacto</div></td> </tr> </table>

Data Base and Web Applications


<?php include('config.php') ?> <?php $consulta="SELECT * from dados_cliente "; $resultado=mysql_query($consulta); for($i=0;$i<mysql_num_rows($resultado);$i++) { $coluna=mysql_fetch_array($resultado); ?> <tr> <td bgcolor="#FFFFFF"><div align="center" class="style20 style2 style7"><?php echo $coluna['0']; ?></div></td> <td bgcolor="#FFFFFF"><div align="center" class="style20 style2 style7"><?php echo $coluna['1']; ?></div></td> <td bgcolor="#FFFFFF"><div align="center" class="style20 style2 style7"><?php echo $coluna['2']; ?></div></td> <td bgcolor="#FFFFFF"><div align="center" class="style20 style2 style7"><?php echo $coluna['3']; ?></div></td> </tr> <!-- <tr> <td colspan="8">--><?php } ?> <!--</td> </tr>-->

Data Base and Web Applications


Actualizao
<form action="formulario_update.php" method="post"> <p align="center">Nr do id <input name="id_cliente" type="text" id="id_cliente" /> <input name="" type="submit" /> </p> <p align="center" class="style1">Digite o nr de id no campo acima </p> </form>

Data Base and Web Applications


Formulario_update.php

Data Base and Web Applications Codigo fonte


<?php $id_cliente = $_POST["id_cliente"]; ?> <body bgcolor="#CACAFF"> <div align="center"><strong>Dados Pessoais</strong></div> <form method="post" action="efectuar_update.php"> <table width="220" border="1" align="center" bgcolor="#3737FF"> <tr> <td>ID</td> <td><label> <input name="id_cliente" type="text" id="id_cliente" readonly value="<?php echo $id_cliente ?>"/> </label></td> </tr> <tr> <td width="52">Nome</td> <td width="152"><label> <input type="text" name="nome" /> </label></td> </tr>

Data Base and Web Applications


<tr> <td>Email</td> <td><label> <input name="email" type="text" id="email" /> </label></td> </tr> <tr> <td>contacto</td> <td><label> <input name="contacto" type="text" id="contacto" /> </label></td> </tr> </table> <p align="center"> <label> <input name="Submit" type="submit" id="Submit" value="registar" /> </label> </p> </form> </body>

Data Base and Web Applications


Efectuar_update.php
<?php include("config.php"); ?> <?php

$id_cliente = $_POST["id_cliente"]; $nome=$_POST["nome"]; $email=$_POST["email"]; $contacto=$_POST["contacto"];

Data Base and Web Applications

$sql="UPDATE `cliente`.`dados_cliente` SET `nome` = '$nome', `email` = '$email', `contacto` = '$contacto' WHERE `dados_cliente`.`id_cliente` =$id_cliente;"; $resultado= mysql_query($sql) or die("Registo Falhou!"); print "<script>javascript:alert('Update efectuado com sucesso');window.location='formulario_update.php';</script>"; exit(); ?>

Data Base and Web Applications

Login

Data Base and Web Applications


Criao da tabela usurio
CREATE TABLE `usuario` (`id` INT( 11 ) NOT NULL AUTO_INCREME NT , `nome` VARCHAR( 50 ) NOT NULL , `username` VARCHAR( 10 ) NOT NULL , `password` VARCHAR( 32 ) NOT NULL , `contacto` VARCHAR( 50 ) DEFAULT NULL , `categoria` ENUM( 'administrador', 'normal', 'tecnico' ) DEFAULT 'normal' , `estado` TINYINT( 4 ) DEFAULT '1, PRIMARY KEY ( `id` ) , UNIQUE KEY `username` ( `username` ) )

Data Base and Web Applications


Registar utilizadores na base de dados

MD5

Data Base and Web Applications


Acesso a paginas de acordo com a categoria Criao da pagina index_administrador.php Somente o administrador tem acesso, esta pagina possui os links para o registos e actualizao relatrios. Criao da pagina index_normal.php Somente o usurio normal tem acesso, esta pagina possui acesso para os relatrio.

Data Base and Web Applications index.php


<body><center><font color="#FF0000"><?php if(isset($_GET['msg'])){ $msg=$_GET['msg']; echo $msg; } else echo ""; ?></font></center> <p align="center" class="style5 style6"><blink><span class="style7">Acesso permito somente para usuarios registados...!</span></blink> </p> <p align="center" class="style5 style6">Login</p> <form name="index" action="login_in.php" method="post" > <table width="313" height="107" border="0" align="center" bgcolor="#C1C1FF"> <tr> <td width="147" height="29"><span class="style4">Nome do utilizador:</span></td> <td width="156"> <input name="usuario" type="text" class="style1" size="16" /> </td> </tr> <tr> <td height="25"><span class="style4">senha: </span></td> <td><input name="senha" type="password" class="style1" size="16"/></td> </tr> <tr> <td height="45" colspan="2"><label> <div align="center"> <input type="submit" name="Submit" value="Login" />&nbsp; <input type="reset" name="Submit2" value="apagar" /> </div> </label></td> </tr> </table></form> </body>

Data Base and Web Applications


Codigo fonte
<body><center><font color="#FF0000"> <?php if(isset($_GET['msg'])){ $msg=$_GET['msg']; echo $msg; } else echo ""; ?>

O cdigo entre <?php ?> permite visualizar mensagem de erro enviada pelo ficheiro login_in.php que faz a verificao

</font> </center> <p align="center" class="style5 style6"><blink><span class="style7">Acesso permito somente para usuarios registados...!</span></blink> </p> <p align="center" class="style5 style6">Login</p> <form name="index" action="login_in.php" method="post" > <table width="313" height="107" border="0" align="center" bgcolor="#C1C1FF"> <tr> <td width="147" height="29"><span class="style4">Nome do utilizador:</span></td> <td width="156">

Data Base and Web Applications

<input name="usuario" type="text" class="style1" size="16" /> </td> </tr> <tr> <td height="25"><span class="style4">senha: </span></td> <td><input name="senha" type="password" class="style1" size="16"/></td> </tr> <tr> <td height="45" colspan="2"><label> <div align="center"> <input type="submit" name="Submit" value="Login" />&nbsp; <input type="reset" name="Submit2" value="apagar" /> </div> </label></td> </tr> </table></form> </body>

Data Base and Web Applications


Login_in.php
<?php include("config.php"); $usuario=$_POST["usuario"]; $codigo_encriptado=md5($_POST["senha"]);

$qry="SELECT * FROM usuario WHERE username='$usuario' AND password='".md5($_POST["senha"])."' AND estado=1;"; $consulta=mysql_query($qry); $row = mysql_fetch_object($consulta); $linhas = mysql_num_rows($consulta);

?>

Data Base and Web Applications


if ($linhas>0) { if ($row-> password == $codigo_encriptado ){ if( $row-> categoria == 'normal'){ header("Location: index_normal.php"); exit(); } if( $row-> categoria == 'administrador'){ header("Location: index_admistrador.php"); } } else { header("Location:index.php?msg='Usuario Invalido ou Senha Errada'"); } } else { header("Location: index.php?msg='Usuario Invalido ou Senha Errada'"); exit(); }

Depois de confirmar que se encontra registado na BD ele verifica a categoria e direcciona o acesso de acordo com a categoria caso no exista na base de dados ele retorna para a pagina index.php e da a mensagem de erro

Mensagens de erro

Data Base and Web Applications


Exemplo: senha errada ou usurio no existente

Data Base and Web Applications

Data Base and Web Applications

Você também pode gostar