Olá,Pessoal eu me chamo Eduardo, comecei a estudar php na faculdade de sistema web que estou fazendo, 1 modulo, porém ao final os professores passaram para a turma a desenvolver um formulario de cadastro automotivo, com bd MySql, e com Orientação a Objetos, não sei muito de php, faz nem 3 meses que pratico, creio que seja bobo minha duvida, mais pessoal não sou preguiçoso não, faz dias que tentei resolver um erro ,procurando google,foruns,lendo livros, refazendo o codigo e infelizmente não consegui...
Erro: Ele não insere os dados no banco de dados e aparece esse erro: Notice: Undefined variable: acao in C:\wamp\www\teste.php on line 3
Bom vou postar os codigos são 4 arquivos:
Codigo Lista_carro.html:
Lista de Carros
Informe abaixo os dados do seu carro ou clique AQUI para ver a lista completa.
Proprietário:
Marca:
Modelo:
Cor:
Opcionais:
Ano de Fabricação:
Ano modelo:
Km Atual:
Última Troca de óleo: (dd/mm/aaaa)
Última Revisão: (dd/mm/aaaa)
Cometários:
Codigo do teste.php(onde está o erro)
<?php
if($acao=="" OR empty($acao))
exit;
require("classdb.inc");
require("classcarro.inc");
$con = new bd("mysql");
$con->conecta("Test","localhost","","rubysoft","mist...");
$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);
}
?>
Codigo do classcarro.inc(onde inclui os dados e é chamado no teste.php)
Classdb.inc (Onde faz conexão com o banco e consulta,lembrando que meu banco está em mysql mais o professor passou o PostGresql e Mysql dentro do script, ele disse que escolhe no teste.php)
<?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.= "<<siteB2c - Sistema de Alerta>>";
$dst = "walaces@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];
}
}
}
?>
Pergunta
RbSis
Olá,Pessoal eu me chamo Eduardo, comecei a estudar php na faculdade de sistema web que estou fazendo, 1 modulo, porém ao final os professores passaram para a turma a desenvolver um formulario de cadastro automotivo, com bd MySql, e com Orientação a Objetos, não sei muito de php, faz nem 3 meses que pratico, creio que seja bobo minha duvida, mais pessoal não sou preguiçoso não, faz dias que tentei resolver um erro ,procurando google,foruns,lendo livros, refazendo o codigo e infelizmente não consegui...
Erro: Ele não insere os dados no banco de dados e aparece esse erro: Notice: Undefined variable: acao in C:\wamp\www\teste.php on line 3
Bom vou postar os codigos são 4 arquivos:
Codigo Lista_carro.html:
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.