Gerenciador de Contatos v1.0 [parte 2]

25 04 2008

Opa opa! Cá estamos de volta, com a segunda parte do Artigo Gerenciador de Contatos, dessa vez iremos desenvolver a página principal, ou “index.php”, vamos lá?

Com o seu editor preferido aberto, digite as linhas responsáveis por carregar o arquivo de funções (aquele que você desenvolveu no post anterior, lembra?):

<?php
  require_once("funcoes.php");
?>

Pronto, agora você poderá usar todas as funções no seu projeto :D , é importante lembrar que o arquivo “funcoes.php” deverá estar no mesmo diretório que o “index.php”, ou então será necessário informar o caminho ao require_once.

Agora vamos ao HTML básico, digite as linhas a seguir:

<html>
 <head>
  <title>Gerenciador de Contatos v1.0</title>
 </head>

 <body>

 </body>
</html>

Pronto, com essa estrutura básica, você deverá ter uma página sem nada escrito, apenas com o título da página mostrando “Gerenciador de Contatos v1.0″.

Vamos incrementar um pouco e adicionar um título para que possamos informar ao usuário do que se trata a página que ele está vendo no momento, adicione dentro da tag “body”:

<h1>Gerenciador de Contatos v1.0</h1><hr>

Essas linhas devem criar um título e uma linha horizontal.

Bom, como você quer listar os contatos na sua página principal, vamos utilizar agora a função Listar() que desenvolvemos no post anterior, para isso, digite a linha a seguir logo após a tag “hr”:

<?php Listar(); ?>

Agora insira mais uma linha horizontal digitando a tag “hr”, poderemos também inserir algumas informações no rodapé, tais como o Copyleft ou um link, sua imaginação é o limite aqui ;) :

<hr>
Copyleft Simonarde Jr.
Desenvolvido para o artigo Gerenciador de contatos em http://simonardejr.wordpress.com

Bom, com isso sua página principal está pronta e deve se parecer com esse código abaixo:

<?php

 require_once("funcoes.php");

?>

<html>
 <head>
  <title>Gerenciador de Contatos v1.0</title>
 </head>

 <body>
  <h1>Gerenciador de Contatos v1.0</h1>
  <hr>
  <?php
   Listar();
  ?>
  <hr>
  <center>Desenvolvido por Simonarde Jr.<br/>
  Para o Artigo "Gerenciador de Contatos v1.0" em <a href="http://simonardejr.wordpress.com/" target="_blank">zWorld</a>.</center>
 </body>

</html>

No próximo post iremos desenvolver a página de cadastro (“adicionar.php”). Até lá.

Simonarde Jr.





Gerenciador de Contatos v1.0 [parte 1]

21 04 2008

Salve salve meus ilustríssimos visitantes, cá estou de volta e, como prometido, trazendo o Artigo sobre o Gerenciador de Contatos. Gostaria de lembrar-vos que esse projeto é OpenSource, ou seja, você poderá usar, modificar e é totalmente encorajado a distribuir essa versão (ou a editada) desde que seja mantido os devidos créditos. Aliás, esse é o meu primeiro projeto OpenSource, espero que gostem ;)

Bom, então vamos digitar código né??

Crie o BD e a tabela com o seguinte script SQL:

CREATE DATABASE gerenciador;
 USE gerenciador;

CREATE TABLE IF NOT EXISTS contatos (
  ID int(5) NOT NULL auto_increment,
  nome varchar(255) NOT NULL,
  telefone varchar(255) NOT NULL,
  celular varchar(255) NOT NULL,
  email varchar(255) NOT NULL,
 UNIQUE KEY ID (ID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Começaremos por um arquivo chamado “funcoes.php”, onde serão escritas todas as funções do aplicativo, facilitando assim a manutenção e poluindo menos as páginas :D . Abra então seu editor preferido e comece abrindo a tag PHP: <?php .

A primeira função será a que facilitará a conexão com o MySQL:

function Conectar( $user, $password, $local="localhost" ) {
  $conexao = @mysql_connect( $local, $user, $password ) or die( "Erro: ".mysql_error() );
  if ( $conexao ) { $bd = @mysql_select_db( "gerenciador" ) or die( "Erro: ".mysql_error() ); }
}

Veja que passamos 3 parâmetros para ela, sendo dois obrigatórios ($user e $password) e um opcional ($local, que se não for passado recebe o valor “localhost”). Fazemos então a conexão e testamos se ela foi realizada com sucesso, se sim, ele escolhe o banco “gerenciador” para o uso. Pode parecer uma função simples, mas realmente é muito útil pois toda vez que precisar realizar uma conexão tudo o que precisa digitar é Conectar(“user”, “senha”);.

Vamos então agora a função Listar();

function Listar() {
  Conectar("user", "senha"); //Passe seu user e senha como parametros.
  $query_lista = "SELECT * FROM contatos ORDER BY nome ASC";
  $resultado = @mysql_query($query_lista) or die("Erro: ".mysql_error());
  if ($resultado) {
   $total = mysql_num_rows($resultado);
   if (mysql_num_rows($resultado) != 0) {
    echo "<table border=\"0\"><tr bgcolor=\"#ff2200\"><td>Nome</td><td>Telefone</td><td>Celular</td><td>E-mail</td><td>Opções</td></tr>";
    while ($linha = mysql_fetch_array($resultado)) {
     if ($i % 2 == 0) { $cor = ""; }
     else { $cor = "#EEEEEE"; }
     echo "<tr bgcolor=\"".$cor."\"><td>".$linha["nome"]."</td><td>".$linha["telefone"]."</td><td>".$linha["celular"]."</td><td>".$linha["email"]."</td><td><a href=\"editar.php?ID=".$linha["ID"]."\">Editar</a> | <a href=\"deletar.php?ID=".$linha["ID"]."\">Deletar</a></td></tr>";
     $i++;
    }
    echo "</table><br/><br/>";
   }
   echo "Você possui ".$total." contatos cadastrados. Deseja <a href=\"adicionar.php\"> adicionar</a> outro?";
  }
}

Essa função realiza a consulta no banco de dados e nos mostra os resultados numa tabela zebrada (ou seja, sempre que precisar listar todos os contatos, basta digitar Listar();, mais simples impossível não é mesmo? ;) ). Ela possui também um contador, onde é possível ver quantos registros você possui.

Que tal escrevermos a função Adicionar()? Vamos lá então ;)

function Adicionar($nome, $telefone, $celular, $email) {
  Conectar("user", "senha"); //Passe seu user e sua senha como parametros.
  if ( $nome == "" ) { $nome = "NULO"; }
  if ( $telefone == "" ) { $telefone = "(00) 0000-0000"; }
  if ( $celular == "" ) { $celular = "(00) 0000-0000"; }
  if ( $email == "" ) { $email = "nenhum fornecido"; }
  $query_adic = "INSERT INTO contatos (ID, nome, telefone, celular, email) VALUES ('NULL', '$nome', '$telefone', '$celular', '$email')";
  $resultado_adic = mysql_query($query_adic) or die("Erro: ".mysql_error());
}

Bom, essa função serve exatamente para fazer o que o nome propõe, adicionar um novo contato, ela possui uma série de testes para atribuir valores às variáveis se as mesmas forem vazias. Novamente, visando a facilidade da inserção, basta digitar Adicionar(“nome”, “telefone”, “celular”, “email”); para que as informações sejam armazenadas no BD.

Mas Simonarde, eu já adicionei, já listei, mas é se eu quiser remover? Vamos resolver isso agora caro visitante, com a função Deletar();

function Deletar($id) {
  $query_del2 = "DELETE FROM contatos WHERE ID='$id'";
  $resultado_del2 = @mysql_query($query_del2) or die("Erro: ".mysql_error());
  if ($resultado_del2) {
   echo "Removido com Sucesso! Clique <a href=\"index.php\">aqui</a> para retornar.";
  }
}

Pronto, basta passar como parâmetro o ID do contato que queres deletar e pronto (Deletar(3); por exemplo), ele será removido do DB ;) .

E se eu coloquei as informações erradas Simonarde, vou ter que apagar o contato e cadastrar de novo? Não ilustríssimo, você vai desenvolver agora a função Editar() e Editando(), uma vai buscar as informações no BD e a outra vai alterar esse registro :D

function Editar($id, $nome, $telefone, $celular, $email) {
  Conectar( "user", "senha"); //Passe seu user e sua senha como parametros.
  if ( $nome == "" ) { $nome = "NULO"; }
  if ( $telefone == "" ) { $telefone = "(00) 0000-0000"; }
  if ( $celular == "" ) { $celular = "(00) 0000-0000"; }
  if ( $email == "" ) { $email = "nenhum fornecido"; }

  $query_edit = "UPDATE contatos SET nome='$nome', telefone='$telefone', celular='$celular', email='$email' WHERE ID='$id'";
  $resultado_edit = mysql_query($query_edit) or die("Erro: ".mysql_error());
 }

function Editando($ide) {
  Conectar( "user", "senha"); //Passe seu user e sua senha como parametros.
  $query_edit2 = "SELECT * FROM contatos WHERE ID='$ide'";
  $resultado_edit2 = mysql_query($query_edit2) or die("Erro: ".mysql_error());
  if ($resultado_edit2) {
   while ($linha_edit2 = mysql_fetch_array($resultado_edit2)) {
    echo "<form action=\"editar.php\">
           Nome: <input type=\"text\" name=\"nomec\" value=\"".$linha_edit2["nome"]."\"> <br/>
           Telefone: <input type=\"text\" name=\"telefonec\" value=\"".$linha_edit2["telefone"]."\"> <br/>
           Celular: <input type=\"text\" name=\"celularc\" value=\"".$linha_edit2["celular"]."\"> <br/>
           E-mail: <input type=\"text\" name=\"emailc\" value=\"".$linha_edit2["email"]."\"> <br/>
           <input type=\"hidden\" name=\"valida\" value=\"ok\">
           <input type=\"hidden\" name=\"ID\" value=\"".$linha_edit2["ID"]."\">
           <input type=\"submit\" value=\"Editar\"> <input type=\"button\" value=\"Cancelar\" onClick=\"javascript:history.back(1);\">
          </form>";
   }
  }
 }

Pronto, para apresentar um formulário com as informações a serem editadas, basta digitar Editando(ID); passando o ID do contato a ser editado como parametro, já para salvar, basta digitar Editar(“ID”, “nome”, “telefone”, “celular”, “email”); passando as informações como parametro, simples não? ;)

Bom, agora só falta você fechar a tag PHP que você abriu lááá no começo do Artigo, para tal, digite: ?> e com essas funções escritas, seu arquivo “funcoes.php” está completo e pronto para uso.

No próximo post, iremos desenvolver a “index.php”, que será responsável por mostrar os contatos cadastrados e oferecer a opção para inserir um novo registro no BD.

Até lá ;)

Simonarde Jr.





Seja Livre: Use Linux [parte 2]

8 04 2008

Salve salve meus ilustríssimos visitantes, cá estou de volta com os resultados das minhas experiências com o Linux.

  • Edição de imagens

Bom, confesso que o que me prendia mais ao Windows Vista era o Adobe Photoshop. Mas aí, você que conhece Linux fala: mas nós temos o GIMP! É, realmente, nós temos o GIMP… Mas eu não conseguia usá-lo, até que eu decidir dar uma segunda chance para ele… O resultado vocês devem imaginar né? :D Não, não, eu não desisti dele, pelo contrário, estou me adaptando muito bem a ele e, sendo bem sincero, não deve nada nada ao seu concorrente proprietário…

Temos também o Inkscape, um software OpenSource para vetorização. Ele é bem simples, mas não se engane por isso, estou aprendendo a vetorizar ainda, mas já consigo fazer algumas coisas bacanas…

  • Instant Messaging

Para conversas online, temos muitas opções de IM que conectam em várias redes ao mesmo tempo, mas os que eu testei aqui foi o Pidgin (ex-Gaim) e o aMSN (idêntico ao software da Microsoft), ambos cumprem bem o papel, mas recomendo o aMSN.

  • Multimídia

Quem me conhece sabe, não vivo sem ouvir música ou assistir meus seriados e filmes, no Linux temos muitas opções de players, um que eu venho usando e gostado bastante é o VLC media player (para DVDs, DivX, entre outros), já para música (mp3, ogg… etc), uso o Rhythmbox, ambos também cumprem muito bem a sua missão e sua interface não poderia ser mais simples.

  • Programação

Bom, 99% do meu tempo na frente do computador é gasto com programação, não tem jeito… Então, nada mais justo que um tópico sobre as ferramentas de programação disponíveis no X, não é mesmo?? Então, não tive tempo para testar outras além do Lazarus, que nada mais é que uma ferramenta que visa substituir o Delphi da Borland e o Eclipse (utilizado para programar em PHP, Java, entre outras), mas não testei muita coisa além da sua interface gráfica :D .

  • Jogos

Atualmente eu estou jogando dois jogos, Diablo II (e sua expansão) e World of Warcraft. O primeiro rodou belezinha, sem nenhum tipo de complicação, já o segundo, esse sim, deu um pouco de trabalho, pois temos que fazer uns hacks para que ele rode tranquilo (os quais ainda não fiz todos :D ). Estou planejando testar Shadow Ops: Red Mercury e talvez algum outro de guerra.

  • Conclusão

Bom caríssimos visitantes, como podem ver, cada vez mais gosto do Linux, tanto por ser seguro (uma vez que não tenho que me preocupar com vírus, spywares, malwares e todas essas pragas), quanto por suprir todas as minhas necessidades como programador. O melhor, tudo isso de graça, com amplo suporte espalhado pela internet, tudo o que você quer configurar, existe um tutorial bem explicado e detalhado… A comunidade OpenSource é simplesmente fodástica!

Vou encerrando por aqui, até o próximo post :D

Simonarde Júnior.





Seja Livre: Use Linux

3 04 2008

Ontem eu resolvi mandar o Windows Vista para o espaço e instalar o Ubuntu 7.10 no meu notebook. Eu já gostava do Linux por ser bem mais seguro e (ao meu ver) muito melhor que o Windows, mas nunca havia radicalizado e deixado apenas ele como eu fiz agora…

Já usei algumas distros conhecidas (Kurumin, Debian, Fedora, Conectiva) mas confesso que estou me surpreendendo a cada nova versão do Ubuntu, com essa agora, não tive nenhum problema com a detecção do meu hardware, tudo foi identificado certinho e está funcionando perfeitamente, até a placa de vídeo (ATI Radeon Xpress 1100), foi identificada e, com uns pequenos ajustes, está rodando o Compiz-Fusion (com os efeitos) numa boa. Ponto para o Pinguim. Outra coisa interessante foi o fato de eu ter conseguido rodar o game Diablo II (e a expansão) sem nenhum tipo de problema através do WINE, amanhã começarei os testes com outros jogos e aí eu posto o resultado aqui. Resta agora esperar pela versão 8.04, que vai ser lançada oficialmente dia 24 de Abril e conferir as novas features.

Bom gente, vou ficando por aqui, e claro, deixando a dica para vocês: Seja Livre: Use Linux ;)

Simonarde Júnior.





Gerenciador de Contatos v1.0

3 04 2008

Salve salve caríssimos visitantes, cá estou a postar novamente e dessa vez vos trago o resultado da pesquisa do post anterior… Bom, seguinte, pelos comentários que recebi aqui juntamente com o conselho do meu professor Thiago, decidir então fazer o Artigo ensinando a fazer e no final postar o Aplicativo pronto para uso, certo? Então, fiquem de olho que eu já comecei a desenvolver o projeto e, muito em breve, eu posto a primeira parte do Artigo ;)

Vou ficando por aqui, até o próximo post…

Simonarde Júnior.