Enviado em 21/12/2012 - 19:48h
Olá pessoa..Estou com um erro que chego a arrepiar os cabelos, mais tudo bem..Já pesquisei em diversos foruns,google,livro e nada...
<html>
<head>
<title>Lista de Carros</title>
</head>
<body>
<table border=0 cellpading=0 cellspacing=0 width=800>
<tr>
<td width="100%" align="center" bgcolor="#ffcc00"><font face="Arial" size="5" color="#0000ff"><B>Lista de Carros</b></font></td>
</tr>
<tr>
<td height="20"></td>
</tr>
<tr>
<td width="100%">Informe abaixo os dados do seu carro ou clique <a href="teste.php?acao=L">AQUI</a> para ver a lista completa.</td>
</tr>
</table>
<form name="carros" action="teste.php" method="post">
<table border=0 cellpading=0 cellspacing=0 width=800>
<tr>
<td width="30%"><b>Proprietário:</b></td>
<td><input name="proprietario" size="30"></td>
</tr>
<tr>
<td width="30%"><b>Marca:</b></td>
<td><input name="marca" size="30"></td>
</tr>
<tr>
<td width="30%"><b>Modelo:</b></td>
<td><input name="modelo" size="30"></td>
</tr>
<tr>
<td width="30%"><b>Cor:</b></td>
<td><input name="cor" size="30"></td>
</tr>
<tr>
<td width="30%" valign="top"><b>Opcionais:</b></td>
<td><textarea name="opc" rows="5" cols="30"></textarea></td>
</tr>
<tr>
<td width="30%"><b>Ano de Fabricação:</b></td>
<td><input name="ano_fab" size="30"></td>
</tr>
<tr>
<td width="30%"><b>Ano modelo:</b></td>
<td><input name="ano_mod" size="30"></td>
</tr>
<tr>
<td width="30%"><b>Km Atual:</b></td>
<td><input name="km_atual" size="30"></td>
</tr>
<tr>
<td width="30%"><b>Última Troca de óleo:</b></td>
<td><input name="ult_troca" size="30"> (dd/mm/aaaa)</td>
</tr>
<tr>
<td width="30%"><b>Última Revisão:</b></td>
<td><input name="ult_rev" size="30"> (dd/mm/aaaa)</td>
</tr>
<tr>
<td width="30%" valign="top"><b>Cometários:</b></td>
<td><textarea name="comentarios" rows="5" cols="30"></textarea></td>
</tr>
<tr>
<td height="20"></td>
</tr>
<tr>
<td></td>
<td align="left">
<input type="submit" name="enviar" value=" OK ">
<input type="reset" name="limpar" value="Limpar">
<input type="hidden" name="acao" value="I">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
//$acao="";(com isso sai o erro, mais nao adiciona dados e fica pagina em branco)
if($acao=="" OR empty($acao))
exit;
require("classdb.inc");
require("classcarro.inc");
$con = new bd("mysql");
$con->conecta("Test","localhost","","rubysoft","mis...");
$car = new carro($acao);
// Verifica a ação a ser executada
switch ($acao) {
case 'I':
$car->proprietario = $proprietario;
$car->marca = $marca;
$car->modelo = $modelo;
$car->cor = $cor;
$car->opcionais = $opc;
$car->ano_fab = $ano_fab;
$car->ano_mod = $ano_mod;
$car->km_atual = $km_atual;
$car->ult_trc = mktime(0,0,0,substr($ult_trc,3,2),substr($ult_trc,0,2),substr($ult_trc,-4));
$car->ult_rev = mktime(0,0,0,substr($ult_rev,3,2),substr($ult_rev,0,2),substr($ult_rev,-4));
$car->coment = $comentarios;
$car->incluir($con);
echo "Carro incluido";
break;
case 'L':
$car->listar($con);
}
?>
</body>
</html>
<?php
class bd {
var $bd;
var $id;
function bd($sgbd="postgresql") {
$this->bd = $sgbd;
}
function conecta($bd,$servidor,$porta,$usuario,$senha) {
if($this->bd=="postgresql") {
$this->id = pg_connect($servidor,$porta,$usuario,$senha,$bd);
}
else {
$this->id = mysql_connect($servidor,$usuario,$senha);
if($this->id) {
mysql_select_db($bd,$this->id);
}
else
$this->id = 0;
}
}
}
class consulta {
var $bd;
var $res;
var $row;
var $nrw;
var $data;
function consulta(&$bd) {
$this->bd = $bd;
}
function executa($sql="",$tipo="") {
if($sql=="") {
$this->res = 0;
$this->nrw = 0;
$this->row = -1;
}
if($this->bd->bd=="postgresql") {
$this->res = pg_exec($this->bd->id,$sql);
$this->nrw = pg_numrows($this->res);
}
else {
$this->res = mysql_query($sql,$this->bd->id);
$this->nrw = @mysql_num_rows($this->res);
}
// grava logfile
if($tipo!="log") {
$oper = substr($sql,0,6);
$file = "";
switch($oper) {
case "INSERT":
$file = substr($sql,12,strpos($sql,"VALUES")-12);
break;
case "UPDATE":
$file = substr($sql,7,strpos($sql,"SET")-7);
break;
case "DELETE":
$file = substr($sql,12,strlen($sql));
break;
}
if(substr($file,0,6)=="pedido" OR substr($file,0,7)=="usuario") {
$log = new logfile($this->bd);
$log->operacao = htmlentities(addslashes($sql));
$log->incluir();
// Gera um email para o auditor do site
if(substr($file,0,7)=="pedidos" OR substr($file,0,12)=="pedido_pagto") {
$assunto = "Manutenção em pedidos";
$mensagem = " DATA: " . date("d/m/Y",time()) . "\n\n";
$mensagem.= "o seguinte comando SQL foi executado ";
$mensagem.= "afetando a tabela de pedidos ou de dados financeiros\n\n";
$mensagem.= $sql . "\n\n";
$mensagem.= "Para maiores detalhes solicite a trilha de auditoria do site";
$mensagem.= "(tabela logfile)\n\n";
$mensagem.= "<<site - Sistema de Alerta>>";
$dst = "rubysoft@uol.com.br";
mail($dst,$assunto,$mensagem,"From: alerta@siteb2c.com.br");
}
}
}
$this->row = 0;
if($this->nrw>0)
$this->dados();
}
function primeiro() {
$this->row = 0;
$this->dados();
}
function proximo() {
$this->row = ($this->row<($this->nrw-1))?++$this->row:($this->nrw - 1);
$this->dados();
}
function anterior() {
$this->row = ($this->row>0) ? --$this->row : 0;
$this->dados();
}
function ultimo() {
$this->row = $this->nrw-1;
$this->dados();
}
function navega($linha) {
if($linha>=0 AND $linha<$this->nrw) {
$this->row = $linha;
$this->dados();
}
}
function dados() {
if($this->bd->bd=="postgresql")
$this->data = pg_fetch_array($this->res,$this->row);
else {
mysql_data_seek($this->res,$this->row);
$this->data = mysql_fetch_array($this->res);
}
}
function last_id($seq="",$sql="SELECT LAST_INSERT_ID()") {
if($this->bd=="postgresql") {
$sql = "SELECT CURRVAL('$seq')";
$this->executa($sql);
if(!$this->res)
return 0;
return $this->data[0];
}
else {
$this->executa($sql);
return $this->data[0];
}
}
}
?>
<?php
class carro {
var $acao;
var $proprietario;
var $marca;
var $modelo;
var $cor;
var $opcioanais;
var $ano_fab;
var $ano_mod;
var $km_atual;
var $ult_trc;
var $ult_rev;
var $coment;
function carro($acao="L") {
$this->acao = $acao;
$this->proprietario = '';
$this->marca = '';
$this->modelo = '';
$this->cor = '';
$this->opcionais = '';
$this->ano_fab = 0;
$this->ano_mod = 0;
$this->km_atual = 0;
$this->ult_trc = 0;
$this->ult_rev = 0;
$this->coment = '';
}
function incluir($db) {
$sql = "INSERT INTO carros VALUES(";
$sql.= "'" . $this->proprietario . "',";
$sql.= "'" . $this->marca . "',";
$sql.= "'" . $this->modelo . "',";
$sql.= "'" . $this->cor . "',";
$sql.= "'" . $this->opcionais . "',";
$sql.= $this->ano_fab . ",";
$sql.= $this->ano_mod . ",";
$sql.= $this->km_atual . ",";
$sql.= $this->ult_trc . ",";
$sql.= $this->ult_rev . ",";
$sql.= "'" . $this->coment . "')";
echo $sql . "\n";
echo $db->id . " --- " . $db->bd;
$qry = new consulta($db);
$qry->executa($sql);
}
function listar($bd) {
$sql = "SELECT * FROM carros ORDER BY proprietario";
$qry = new consulta($bd);
if($qry->nrw>0) {
echo "<table border=0 cellpadding=0 cellspacing=3 width=800>";
echo " <tr bgcolor='#ffcc00'>";
echo " <td><b>Proprietário</b></td>";
echo " <td><b>Marca</b></td>";
echo " <td><b>Modelo</b></td>";
echo " <td><b>Cor</b></td>";
echo " <td><b>Ano Fabricação/Modelo</b></td>";
echo " <td><b>Última Troca de óleo</b></td>";
echo " <td><b>Km Atual</b></td>";
echo " </tr>";
for($i=0;$i<$qry->nrw;$i++) {
echo "<tr>";
echo "<td>" . $qry->data["proprietario"] . "</td>";
echo "<td>" . $qry->data["marca"] . "</td>";
echo "<td>" . $qry->data["modelo"] . "</td>";
echo "<td>" . $qry->data["cor"] . "</td>";
echo "<td>" . $qry->data["ano_fab"] . "/" . $qry->data["ano_mod"] . "</td>";
echo "<td>" . date("d/m/Y",$qry->data["ult_trc"]) . "</td>";
echo "<td>" . $qry->data["km_atual"] . "</td>";
echo "</tr>";
}
echo "</table>";
}
else
echo "<p><b>Nenhum Carro cadastrado</b></p>";
}
}
?>