segunda-feira, 25 de outubro de 2010

Gestor de Emprestimos

Foi realizado o gestor de emprestimos.Programa usando php+mysql para gerenciar um sitema composto por tres tabelas uma com pessoas(emprest_amigos) e duas de itens cedido (emprest_emprestimo) e emprestado (emprest_devolver). As tres tabelas conta com delecao, insercao e alteracao de itens. Veja a pagina aqui.

Gerenciador de Emprestimos

menu.php

<html>
<head><title>Gestor de emprestimos</title></head>
<body style="background-color:pink">
<center>
<hr><font face="arial" size=5>  <b>Menu de Opções</b></font><hr>
<font face="arial" size=3>
<p><a target="entrada" href="cadastrar_amigo.php">      Cadastrar Amigo</a></p>
<p><a target="entrada" href="cadastrar_emprestimo.php"> Cadastrar Emprestimo</a></p>
<p><a target="entrada" href="alterar_emprestimo.php">   Alterar Emprestimo</a></p>
<p><a target="entrada" href="remover_emprestimo.php">   Remover Emprestimo</a></p>
<p><a target="entrada" href="localizar_emprestimo.php"> Localizar Emprestimo</a></p>
</font> <br> <hr>
</center>
</body>
</html>

principal.php

<html>
<head><title>Gestor de emprestimos</title></head>
<body>
<center><br>
<font face="arial" size=3> <b>Gerenciador de Emprestimos!<b><br><br>
<?php $hora=date("H");
      if($hora<=11) {echo("Bom Dia! ");}
         elseif($hora>11 and $hora<18) {echo ("Boa Tarde!");}
            else { echo("Boa Noite!");} 
?>
<br> Seja Bem-Vindo !</font>
</center>
</body>
</html>
  

index.php

<html>
<head>
<title>Gestor de emprestimos</title>
<frameset rows="20%,90%" frameborder=0 framespacing=0 frameborder="NO" border=0>
 <frame scrolling="auto" name="cabecalho" src="cabecalho.php" noresize>
   <frameset cols="20%,80%" frameborder=0 framespacing=0 frameborder="no" border=0>
     <frame scrolling="auto" name="menu" src="menu.php" noresize>
     <frameset rows="75%,25%" frameborder=0 framespacing=0 frameborder="NO" border=0>
         <frame scrolling="auto" name="principal" src="principal.php" noresize>
         <frame scrolling="auto" name="entrada"   src="cadastrar_amigo.php" noresize>
     </frameset>
   </frameset>
</frameset>
</head>
</html>

cabecalho.php

<html>
<head><title>Cadastro de emprestimos</title></head>
<body style="background-color:yellow">

<h1 style="background-color:red" align=center>Gestor de Emprestimos</h1>
</body>
</html>

cadastrar_amigo.php

<html>
<head><title>Gestor de emprestimos</title></head>

<body style="background-color:PapayaWhip">



<form name="cad_amig" action="<?php $_SERVER['PHP_SELF']?>" method="post">
<b>Digite o nome do amigo a ser cadastrado:</b>   <input type="text" name="nome" />
<input type="submit" value="Cadastrar" />
</form>
<?php 


if(isset($_POST["nome"])){
  
  if(!empty($_POST["nome"]))
  {
    include "conexao.php";
    include "executa_sql.php";
    $sql = "SELECT nome FROM emprest_amigos WHERE nome='$_POST[nome]' ;";
    $consulta = executa_sql($sql,$conexao);
    if(mysql_num_rows($consulta) == 0) 
    {
      // inserir nome dado no banco de dados tabela emprest_amigos
      $sql = "INSERT INTO emprest_amigos (nome) values ('$_POST[nome]');";
      if(!(executa_sql($sql,$conexao))) echo "Nome nao inserido";
      echo "Nome inserido com sucesso! Obrigado.";
    }
    else
    {
      echo "Nome nao inserido! Duplicado. Verifique!";
    }
  }
  else {echo "***** Voce nao entrou com nome valido no formulario *****";}

}

?>
</body>
</html>

cadastrar_emprestimo.php

<html>
<head><title>Gestor de emprestimos</title></head>

<body style="background-color:PapayaWhip">
<?php

include "conexao.php";
include "executa_sql.php";
if(isset($_POST["escolha"])){
 if($_POST["escolha"]=="1") $tabela="emprest_emprestimo";
 if($_POST["escolha"]=="2") $tabela="emprest_devolver";
}

if(isset($_POST["idnome"]))
{  
  if(!empty($_POST["idnome"]))
  {
    //inserir items que foram tomados pelo idnome selecionado. 


    if(isset($_POST["objeto"]) && isset($_POST["descri"]))
    {
      if(!(empty($_POST["objeto"])) && !(empty($_POST["descri"]))) 
      {
   
        // inserir objeto e descricao em tabela emprest_emprestimo.

        $sql = "INSERT INTO $tabela (id_amigo,objeto,descricao) values ('$_POST[idnome]',
              '$_POST[objeto]','$_POST[descri]');";
        if(!(executa_sql($sql,$conexao))) {echo "Objeto nao inserido";}
        else {echo "Objeto inserido com sucesso! Obrigado.";}
      }
      else
      {
        echo "***** Voce nao entrou com objeto ou descricao valido no formulario *****"; 
      }
    }
  }
}

?>

<?php
if(!(isset($_POST["idnome"])))
{ ?>
  <form target="principal" name="cad_empr" action="<?php $_SERVER['PHP_SELF']?>" method="post">
  <b>Selecione o nome da pessoa:</b>  

  <?php
  //Selecione todos os nomes cadastrados na tabela de emprestimos.

  $sql = "SELECT * FROM emprest_amigos;";
  $consulta = executa_sql($sql,$conexao);
  echo "<select name='idnome' size='1'>";
  while(list($id,$nome)=mysql_fetch_array($consulta))
  {
    echo "<option value= $id >".$nome."</option>";
  }
  echo "</select>";
  
?>
  <input type="radio" name="escolha" value="1">Emprestimo</input>
  <input type="radio" name="escolha" value="2">Cessão</input>?</b><br>
  <b>Objeto emprestado/cedido:</b>       <input type="text" size="20" name="objeto">
  <b>Descrição do objeto:</b> <input type="text" size="25" name="descri">
  <input type="submit" value="Cadastrar" />
  </form>  <?php
} ?>
 

</body>
</html>

alterar_emprestimo.php

<html>
<head><title>Gestor de emprestimos</title></head>

<body style="background-color:PapayaWhip">
<?php
include "conexao.php";
include "executa_sql.php";
if(isset($_POST["escolha"])){
 if($_POST["escolha"]=="1") $tabela="emprest_emprestimo";
 if($_POST["escolha"]=="2") $tabela="emprest_devolver";
}
if(isset($_POST["idemprestimo"]))
{
 if(!(empty($_POST["objeto"])) || !(empty($_POST["descricao"])) )
 {
   $sql= "UPDATE $tabela SET objeto = '$_POST[objeto]',descricao='$_POST[descricao]' 
          WHERE id='$_POST[idemprestimo]' ;";
   executa_sql($sql,$conexao);
   $sql = "SELECT id_amigo,objeto,descricao FROM $tabela WHERE id='$_POST[idemprestimo]';";
   $consulta = executa_sql($sql,$conexao);
   list($id_amigo,$objeto,$descricao)=mysql_fetch_array($consulta);
   $sql = "SELECT nome FROM emprest_amigos WHERE id='$id_amigo' ;";
   $consulta = executa_sql($sql,$conexao);
   list($nome) = mysql_fetch_array($consulta);

   echo "<b>O tomador chamado: $nome </b><br>";
   echo "<b>Teve o objeto emprestado alterado para: $objeto </b></br>";
   echo "<b>E a descricao para: $descricao </b><br>";

   echo "Valores atualizado !!!";
 }
 else
 {
   echo "Valores nao alterados voce nao preencheu os dados";
   echo "<form><input type='button' value='Voltar' OnClick='history.go(-1)'></form>";
 }
}
   

if(isset($_POST["idnome"]))
{  
  if(!empty($_POST["idnome"]))
  {
    //pesquisar items que foram tomados pelo idnome selecionado. 
    $idnome=$_POST["idnome"];
    $sql = "SELECT id,objeto,descricao FROM $tabela WHERE (id_amigo = '$idnome');";
    $consulta = executa_sql($sql,$conexao); 
    echo "<form target='principal' action='$_SERVER[PHP_SELF]' method='post'> ";
    echo "<b>Selecione o item que deseja alterar:</b>";
    echo "<select name='idemprestimo' size='1'>";
    while(list($id,$obj,$descr)=mysql_fetch_array($consulta))
    {
      echo "<option value= $id >".$obj." -- ".$descr."</option>";
    }
    echo "</select>";
    echo "<br><b>Novo objeto:</b>   <input type='text' name='objeto' size='20' />";
    echo "<br><b>Novo descricao:</b><input type='text' name='descricao' size='25' />";
    echo "<input type='hidden' name='escolha' value='$_POST[escolha]'>";
    echo "<br><input type='submit' value='Enviar' />";
    echo "</form>";        
  }
  else
      {
        echo "***** Voce nao entrou com objeto ou descricao valido no formulario *****"; 
      }
}


if(!(isset($_POST["idnome"])) && !(isset($_POST["idemprestimo"])) )
{ ?>
  <form target="principal" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
  <b>Deseja alterar item 
  <input type="radio" name="escolha" value="1">Emprestado</input>
  <input type="radio" name="escolha" value="2">Cedido</input>?</b><BR>
  <b>Selecione o nome da pessoa envolvida:</b>   

  <?php
  //Selecione todos os nomes cadastrados na tabela de emprestimos.

  $sql = "SELECT * FROM emprest_amigos;";
  $consulta = executa_sql($sql,$conexao);
  echo "<select name='idnome' size='1'>";
  while(list($id,$nome)=mysql_fetch_array($consulta))
  {
    echo "<option value= $id >".$nome."</option>";
  }
  echo "</select>";
  echo "<input type='submit' value='Enviar' />";
  echo "</form>";
} 
 
?>
</body>
</html>

localizar_emprestimo.php

<html>
<head><title>Gestor de emprestimos</title></head>

<body style="background-color:PapayaWhip">
<?php
include "conexao.php";
include "executa_sql.php";

if(isset($_POST["escolha"]))
{
 
  if($_POST["escolha"]=="1") $tabela="emprest_emprestimo";
  if($_POST["escolha"]=="2") $tabela="emprest_devolver";

  $sql = "SELECT * FROM $tabela ;"; 
  $consulta = executa_sql($sql,$conexao);
  $sql = "SELECT * FROM emprest_amigos;";
  $consulta1 = executa_sql($sql,$conexao);
  

  echo "<center>";
  echo "<table border=2 >";
  echo "<tr><td>ITEM</td><td>AMIGO</td><td>OBJETO</td><td>DESCRICAO</td>";
  while(list($id,$id_amigo,$objeto,$descricao)=mysql_fetch_array($consulta))
  { 
    $sql = "SELECT nome FROM emprest_amigos WHERE id=$id_amigo";
    $consulta2 = executa_sql($sql,$conexao);
    list($nome) = mysql_fetch_array($consulta2);
    echo "<tr>";
    echo "<td>$id</td><td>$nome</td><td>$objeto</td><td>$descricao</td>";
    echo "</tr>";
  }
  echo "</table>";

}
else
{
?>

<form target="principal" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<b>Deseja localizar item 
<input type="radio" name="escolha" value="1">Emprestado</input>
<input type="radio" name="escolha" value="2">Cedido</input>?</b>
<input type="submit" value="Enviar"> </input>
<br>
</form>

</body>
</html>
<?php
}
?>

remover_emprestimo.php

<html>
<head><title>Gestor de emprestimos</title></head>

<body style="background-color:PapayaWhip">
<?php
include "conexao.php";
include "executa_sql.php";
if(isset($_POST["escolha"])){
 if($_POST["escolha"]=="1") $tabela="emprest_emprestimo";
 if($_POST["escolha"]=="2") $tabela="emprest_devolver";
}
if(isset($_POST["idemprestimo"]))
{
   $sql= "DELETE FROM $tabela WHERE id='$_POST[idemprestimo]' ;";
   executa_sql($sql,$conexao);
   echo "Item deletado da Tabela !!!";
}
   

if(isset($_POST["idnome"]))
{  
  if(!empty($_POST["idnome"]))
  {
    //pesquisar items que foram tomados pelo idnome selecionado. 
    $idnome=$_POST["idnome"];
    $sql = "SELECT id,objeto,descricao FROM $tabela WHERE (id_amigo = '$idnome');";
    $consulta = executa_sql($sql,$conexao); 
    echo "<form target='principal' action='$_SERVER[PHP_SELF]' method='post'> ";
    echo "<b>Selecione o item que deseja remover:</b>";
    echo "<input type='hidden' name='escolha' value='$_POST[escolha]'>";
    echo "<select name='idemprestimo' size='1'>";
    while(list($id,$obj,$descr)=mysql_fetch_array($consulta))
    {
      echo "<option value= $id >".$obj." -- ".$descr."</option>";
    }
    echo "</select>";
    echo "<input type='submit' value='Enviar' />";
    echo "</form>";        
  }
  else
      {
        echo "***** Voce nao entrou com objeto ou descricao valido no formulario *****"; 
      }
}


if(!(isset($_POST["idnome"])) && !(isset($_POST["idemprestimo"])) )
{ ?>
  <form target="principal" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
  <b>Deseja localizar item 
  <input type="radio" name="escolha" value="1">Emprestado</input>
  <input type="radio" name="escolha" value="2">Cedido</input>?</b><BR>
  <b>Selecione o nome da pessoa envolvida:</b>  

  <?php
  //Selecione todos os nomes cadastrados na tabela de emprestimos.

  $sql = "SELECT * FROM emprest_amigos;";
  $consulta = executa_sql($sql,$conexao);
  echo "<select name='idnome' size='1'>";
  while(list($id,$nome)=mysql_fetch_array($consulta))
  {
    echo "<option value= $id >".$nome."</option>";
  }
  echo "</select>";
  echo "<input type='submit' value='Enviar' />";
  echo "</form>";
} 
 
?>
</body>
</html>

conexao.php

<?php
$host="localhost";
$usuario="root";
$senha="";
$nome_banco="pedro";
if(!($conexao = mysql_connect("$host","$usuario","$senha"))) {
   echo "<p align='center'>Erro Conectando ao MySQL!</p>";
   exit;
}
if(!($nome_banco=mysql_select_db("$nome_banco",$conexao))) {
   echo "<p align='center'>Erro selecionando a base de dados $nome_banco</p>";
   exit;
}
?>

executa_sql.php

<?php
function executa_sql($sql,$conexao)
{
   if(empty($sql) or !($conexao)) return 0;

   if(!($resposta=mysql_query($sql,$conexao))) 
   {
     echo "<p align='center'> Erro na execucao do comando SQL!</p>";
     exit;
   }
   return $resposta;
}
?>

segunda-feira, 18 de outubro de 2010

Gerador de Relatório de Visitadores a Pagina WEB

Relatório de Visitadores à Página WEB

O programa a seguir foi elaborado utilizando-se do arquivo de saída de uma página Log/Contadora de visitas, onde a variável dos sistema era armazenada em arquivo. Essa informação agora usada para se criar um relatório de tipos de navegadores e sistemas operacionais de usuários que visitaram a página. Eu achei a qualidade da informação fornecida pela variável de sistema muito pobre, e dubia. Onde muitas vezes não pude realmente saber se o visitador era de uma maquina linux ou uma maquina windows haja vista que as duas informações vinham agregadas a string. Por hora o programa se despreocupa com a qualidade da informação importando somente em estabelecer um meio de identificar elementos de qualificação dessa string. Melhores métodos de certificar qual o sistema e navegadores creio eu deve passar por uma redefinição do modo como e setado essa variável pelo sistema, coisa que cabe aos organizadores da linguagem PHP fazerem, por hora acho a linguagem muito mal padronizada incluse a parte HTML.Veja aqui a página

<html>
<body>
<h1>Programa de Geracao de relatorio de visitas a pagina</h1>
<hr size=10 color=red>
<?php

/*    rotina php para para ler um arquivo de log e informar estatisticamente a porcentagem de visitantes
      por sistema operacional e navegador tipo.
*/

// Abre arquivo log.txt em modo de leitura.

 $arquivo=fopen("log.txt","r") or  exit("Nao foi possivel abrir arquivo");

// Le uma linha do arquivo a primeira e coloca o valor em variavel numero de linhas.

 $numero_linhas = fgets($arquivo);
 
// Define array de tipo de sistema operacionais e navegadores (browsers).

 $NAV_array = array("msie","firefox","opera","chrome","safari","flock","iceweasel","googlebot","camino");

 $SO_array = array("Linux","Mac","Windows","OS");

// Inicializando contador de browsers

 foreach($NAV_array as $navegador)
 {
   $contador[$navegador] = 0;
 }   

// Inicializando contador de sistemas operacionais.

 foreach($SO_array as $so)
 {
   $contador[$so] = 0;
 }

// Le o arquivo linha por linha

 for($i=0;$i<$numero_linhas;$i++)
 {
   $linha = fgets($arquivo);
   foreach($NAV_array as $navegador)
   {
     if(preg_match("/"."$navegador"."/i",$linha))
     {
        $contador[$navegador] += 1;
     }
   }
   foreach($SO_array as $so)
   {
     if(preg_match("/"."$so"."/i",$linha))
     {
        $contador[$so] += 1;
     }
   }
 }

// Apresenta porcentagem dos navegadores visitadores da pagina.

 echo "<table border=3>";
 echo "<h3>Visistas por Browser</h3>";
 foreach($NAV_array as $navegador)
 {
   echo "<td>".$navegador."<td>".$contador[$navegador]."</td>";
 }
 echo "</table><br>";

 echo "<table border=3>";
 echo "<h3>Visitas por Sistema Operacional</h3>";
 foreach($SO_array as $so)
 {
   echo "<td>".$so."<td>".$contador[$so]."</td>";
  
 }
 echo "</table>";

// Fecha arquivo. 

 fclose($arquivo);

 ?>
</body>
</html>