Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Philipe

erro no código

Recommended Posts

Galera to com um problema creio que simples, mas já estou dia e noite quebrando a cabeça e nao consigo resolver, peguei um sistema aq do forum e modifiquei algumas coisas...

 

O problema é o seguinte: consigo cadastrar, visualisar e baixar as informações do banco de dados mas ao EDITAR ou EXCLUIR sempre da erro... http://www.doguinhos.com/sistema/

 

o codigo salvar_edicao.php

<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$id           = $_POST["id_usuario"];
$nome         = $_POST["nome"];
$denominacao  = $_POST["denominacao"];
$endereco     = $_POST["endereco"];
$cep          = $_POST["cep"];
$bairro       = $_POST["bairro"];
$cidade       = $_POST["cidade"];
$estado       = $_POST["estado"];
$fone         = $_POST["fone"];
$fax          = $_POST["fax"];
$cnpj         = $_POST["cnpj"];
$inscricao    = $_POST["inscricao"];
$ramo         = $_POST["ramo"];
$comprador    = $_POST["comprador"];
$frete        = $_POST["frete"];
$entrega      = $_POST["entrega"];
$cobranca     = $_POST["cobranca"];
$transporte   = $_POST["transporte"];
$condicoes    = $_POST["condicoes"];
$pendencias   = $_POST["pendencias"];
$outros       = $_POST["outros"];

if(file_exists("init.php")) {
	require "init.php";
} else {
	echo "Arquivo init.php nao foi encontrado";
	exit;
}

if(!function_exists("Abre_Conexao")) {
	echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
	exit;
}

Abre_Conexao();
if(@mysql_query("UPDATE usuarios SET 
	nome = '$nome',
	denominacao = '$denominacao',
	endereco = '$endereco',
	cep = '$cep',
	bairro = '$bairro',
	cidade = '$cidade',
	estado = '$estado',
	fone = '$fone',
	fax = '$fax',
	cnpj = '$cnpj',
	inscricao = '$inscricao',
	ramo = '$ramo',
	comprador = '$comprador',
	frete = '$frete',
	entrega = '$entrega',
	cobranca = '$cobranca',
	transporte = '$transporte',
	condicoes = '$condicoes',
	pendencias = '$pendencias',
	outros = '$outros'
	WHERE id_usuario = $id")) {
	
	if(mysql_affected_rows() == 1){
		echo "Registro atualizado com sucesso";
	}

} else {
	if(mysql_errno() == 1062) {
		echo $erros[mysql_errno()];
		exit;
	} else {
		echo "Erro nao foi possivel efetuar a edição";
		exit;
	}
	@mysql_close();
}

}
?>
<a href="listar.php">Voltar</a>

esse o excluir.php

<?php 
include('includes/topo.php');
?>
<?php
if($_SERVER["REQUEST_METHOD"] == "GET") {
if(file_exists("init.php")) {
	require "init.php";		
} else {
	echo "Arquivo init.php nao foi encontrado";
	exit;
}

if(!function_exists("Abre_Conexao")) {
	echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
	exit;
}
$id = $_GET["id"];

Abre_Conexao();
if(mysql_query("delete from usuarios where id_cliente = $id")) {
	if(mysql_affected_rows() == 1){
		echo "Registro deletado com sucesso<br />";
	}	
}	
}

?>
<a href="listar.php">Voltar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize mysql_error() para reportar os erros da SQL, e evite @ para camuflar os erros.

 

 

Configure seu código para exibir TODAS as mensagens de erro, adicionando este código à primeira linha do script.

<?php

ini_set( 'display_errors', true );

error_reporting( E_ALL );

Leia também

 

http://forum.imasters.com.br/topic/375800-orientaes-para-uma-boa-participao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você garante que as variáveis estão setadas?

 

coloque um isset($_POST['nome_do_campo']) ... se for verdadeiro, você seta a variável...senão você seta um valor "vazio" para variável....

 

tipo assim:

if (isset($_POST['nome'])) $nome = $_POST['nome']; else $nome = '';

acho que tem variavel vindo "Não definida" e ai da erro no update....

 

se a variavel $id estiver vazia, pare a execução do sistema

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera achei esse erro aqui colocando a dica do williams

 

Notice: Undefined index: id_usuario in /var/www/html/doguinhos.com/web/sistema/salvar_edicao.php on line 8

Notice: Undefined index: estado in /var/www/html/doguinhos.com/web/sistema/salvar_edicao.php on line 15
Erro nao foi possivel efetuar a edição

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa a minha dica então, prossivelmente o campo id usuario e estado não foi preenchido no seu formulário, ou a captura está errada, verifique por que ele não está sendo preenchido com o isset e pronto :D

 

verifica o nome dos campos certinho, e blza

Compartilhar este post


Link para o post
Compartilhar em outros sites
if (isset($_POST['nome'])) $nome = $_POST['nome']; else $nome = '';

// ai vc vai trocando pelo nome das suas variaveis...

// tipo pra estado:

if (isset($_POST['estado'])) $estado = $_POST['estado']; else $estado = '';

isso vai garantir que as variáveis vão sempre definidas (mesmo que nulas) para o update, que o erro que aconteceu pare de acontecer,e que o update execute sem problemas (dependendo da configuração do banco), mas eu te recomendo procurar por Validação via Javascript pra campos obrigatórios antes de clicar em Enviar no seu formulário para você garantir que os campos que não podem ser nulos estejam preenchidos, antes de chegar na pagina que leva a atualização do banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas isso não garante que os dados estão sendo preenchidos. Isso apenas evitará o notice do PHP. O melhor é você debugar. Use var_dump().

 

Nesse caso, pra você saber se foi preenchido algum valor, ou qual retorno dele. Coloque a váriavel ou objeto, etc. dentro do var_dump.

 

Assim você saberá se você recebeu oque pediu ou necessita.

 

@Edit:

Você precisa saber oque você tem (dados), pra saber oque você quer e e onde quer chegar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

will o codigo ficou assim... mais ainda nao funciona...

cleiton como usar o var_dump

<?php

ini_set( 'display_errors', true );

error_reporting( E_ALL );

if($_SERVER["REQUEST_METHOD"] == "POST") {
$id           = $_POST["id"];
$nome         = $_POST["nome"];
$denominacao  = $_POST["denominacao"];
$endereco     = $_POST["endereco"];
$cep          = $_POST["cep"];
$bairro       = $_POST["bairro"];
$cidade       = $_POST["cidade"];
$estado       = $_POST["estado"];
$fone         = $_POST["fone"];
$fax          = $_POST["fax"];
$cnpj         = $_POST["cnpj"];
$inscricao    = $_POST["inscricao"];
$ramo         = $_POST["ramo"];
$comprador    = $_POST["comprador"];
$frete        = $_POST["frete"];
$entrega      = $_POST["entrega"];
$cobranca     = $_POST["cobranca"];
$transporte   = $_POST["transporte"];
$condicoes    = $_POST["condicoes"];
$pendencias   = $_POST["pendencias"];
$outros       = $_POST["outros"];

if(file_exists("init.php")) {
	require "init.php";
} else {
	echo "Arquivo init.php nao foi encontrado";
	exit;
}

if(!function_exists("Abre_Conexao")) {
	echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
	exit;
}

Abre_Conexao();
if(@mysql_query("UPDATE usuarios SET 
	nome = '$nome',
	denominacao = '$denominacao',
	endereco = '$endereco',
	cep = '$cep',
	bairro = '$bairro',
	cidade = '$cidade',
	estado = '$estado',
	fone = '$fone',
	fax = '$fax',
	cnpj = '$cnpj',
	inscricao = '$inscricao',
	ramo = '$ramo',
	comprador = '$comprador',
	frete = '$frete',
	entrega = '$entrega',
	cobranca = '$cobranca',
	transporte = '$transporte',
	condicoes = '$condicoes',
	pendencias = '$pendencias',
	outros = '$outros'
	WHERE nome = $id")) {
	
	if(mysql_affected_rows() == 1){
		echo "Registro atualizado com sucesso";
	}

} else {
	if(mysql_errno() == 1062) {
		echo $erros[mysql_errno()];
		exit;
	} else {
		echo "Erro nao foi possivel efetuar a edição";
		exit;
	}
	@mysql_close();
}
if (isset($_POST['nome'])) $nome = $_POST['nome']; else $nome = '';
if (isset($_POST['denominacao'])) $denominacao = $_POST['denominacao']; else $denominacao = '';
if (isset($_POST['endereco'])) $endereco = $_POST['endereco']; else $endereco = '';
if (isset($_POST['cep'])) $cep = $_POST['cep']; else $cep = '';
if (isset($_POST['bairro'])) $bairro = $_POST['bairro']; else $bairro = '';
if (isset($_POST['cidade'])) $cidade = $_POST['cidade']; else $cidade = '';
if (isset($_POST['estado'])) $estado = $_POST['estado']; else $estado = '';
if (isset($_POST['fone'])) $fone = $_POST['fone']; else $fone = '';
if (isset($_POST['fax'])) $fax = $_POST['fax']; else $fax = '';
if (isset($_POST['cnpj'])) $cnpj = $_POST['cnpj']; else $cnpj = '';
if (isset($_POST['inscricao'])) $inscricao = $_POST['inscricao']; else $inscricao = '';
if (isset($_POST['ramo'])) $ramo = $_POST['ramo']; else $ramo = '';
if (isset($_POST['comprador'])) $comprador = $_POST['comprador']; else $comprador = '';
if (isset($_POST['frete'])) $frete = $_POST['frete']; else $frete = '';
if (isset($_POST['entrega'])) $entrega = $_POST['entrega']; else $entrega = '';
if (isset($_POST['cobranca'])) $cobranca = $_POST['cobranca']; else $cobranca = '';
if (isset($_POST['transporte'])) $transporte = $_POST['transporte']; else $transporte = '';
if (isset($_POST['condicoes'])) $condicoes = $_POST['condicoes']; else $condicoes = '';
if (isset($_POST['pendencias'])) $pendencias = $_POST['pendencias']; else $pendencias = '';
if (isset($_POST['outros'])) $outros = $_POST['outros']; else $outros = '';
}
?>
<a href="listar.php">Voltar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Novamente... retire o @. Exiba os erros. E antes de realizar a lógica do algoritmo, verifique se você recebeu oque pede.

 

Como usar var_dump(); - isso é um mistério, sem solução. :O

http://www.php.net/manual/pt_BR/function.var-dump.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca isso:

if (isset($_POST['nome'])) $nome = $_POST['nome']; else $nome = '';
if (isset($_POST['denominacao'])) $denominacao = $_POST['denominacao']; else $denominacao = '';
if (isset($_POST['endereco'])) $endereco = $_POST['endereco']; else $endereco = '';
if (isset($_POST['cep'])) $cep = $_POST['cep']; else $cep = '';
if (isset($_POST['bairro'])) $bairro = $_POST['bairro']; else $bairro = '';
if (isset($_POST['cidade'])) $cidade = $_POST['cidade']; else $cidade = '';
if (isset($_POST['estado'])) $estado = $_POST['estado']; else $estado = '';
if (isset($_POST['fone'])) $fone = $_POST['fone']; else $fone = '';
if (isset($_POST['fax'])) $fax = $_POST['fax']; else $fax = '';
if (isset($_POST['cnpj'])) $cnpj = $_POST['cnpj']; else $cnpj = '';
if (isset($_POST['inscricao'])) $inscricao = $_POST['inscricao']; else $inscricao = '';
if (isset($_POST['ramo'])) $ramo = $_POST['ramo']; else $ramo = '';
if (isset($_POST['comprador'])) $comprador = $_POST['comprador']; else $comprador = '';
if (isset($_POST['frete'])) $frete = $_POST['frete']; else $frete = '';
if (isset($_POST['entrega'])) $entrega = $_POST['entrega']; else $entrega = '';
if (isset($_POST['cobranca'])) $cobranca = $_POST['cobranca']; else $cobranca = '';
if (isset($_POST['transporte'])) $transporte = $_POST['transporte']; else $transporte = '';
if (isset($_POST['condicoes'])) $condicoes = $_POST['condicoes']; else $condicoes = '';
if (isset($_POST['pendencias'])) $pendencias = $_POST['pendencias']; else $pendencias = '';
if (isset($_POST['outros'])) $outros = $_POST['outros']; else $outros = '';

no lugar disso:

$nome         = $_POST["nome"];
$denominacao  = $_POST["denominacao"];
$endereco     = $_POST["endereco"];
$cep          = $_POST["cep"];
$bairro       = $_POST["bairro"];
$cidade       = $_POST["cidade"];
$estado       = $_POST["estado"];
$fone         = $_POST["fone"];
$fax          = $_POST["fax"];
$cnpj         = $_POST["cnpj"];
$inscricao    = $_POST["inscricao"];
$ramo         = $_POST["ramo"];
$comprador    = $_POST["comprador"];
$frete        = $_POST["frete"];
$entrega      = $_POST["entrega"];
$cobranca     = $_POST["cobranca"];
$transporte   = $_POST["transporte"];
$condicoes    = $_POST["condicoes"];
$pendencias   = $_POST["pendencias"];
$outros       = $_POST["outros"];

toma cuidado com essa usuario_id, pelo q eu vi no erro, ela está indo sem definição, isso vai continuar te dando erro no update....

 

da uma olhada na validação do form, se você estiver usando HTML5, coloca um required="required" nos campos obrigatórios

 

e tira os "@" pra mostrar os erros... isso ajuda muito!

da uma lida no var_dump() pra você saber se as variáveis foram todas definidas

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca isso:

if (isset($_POST['nome'])) $nome = $_POST['nome']; else $nome = '';

O correto é utlizar operador ternário neste caso, e não um aglomerado de if else

 

Ex.:

$nome = isset( $_POST['nome'] ) ? !empty( $_POST['nome'] ) : 'Ops a variável esta vazia';
$nome = isset( $_POST['nome'] ) ? !empty( $_POST['nome'] ) : null;
$nome = isset( $_POST['nome'] ) ? !empty( $_POST['nome'] ) : '';

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

O correto é utlizar operador ternário neste caso, e não um aglomerado de if else

 

Ex.:

$nome = isset( $_POST['nome'] ) ? !empty( $_POST['nome'] ) : 'Ops a variável esta vazia';
$nome = isset( $_POST['nome'] ) ? !empty( $_POST['nome'] ) : null;
$nome = isset( $_POST['nome'] ) ? !empty( $_POST['nome'] ) : '';

 

Fiquei com medo de confundi-lo, ele disse q está começando agora....

Compartilhar este post


Link para o post
Compartilhar em outros sites

já alterei esse codigo mill vezes e até agora nada =/

maldita falta de inteligência...

<?php

ini_set( 'display_errors', true );

error_reporting( E_ALL );

if($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST['id'])) $id = $_POST['id']; else $id = '';
if (isset($_POST['nome'])) $nome = $_POST['nome']; else $nome = '';
if (isset($_POST['denominacao'])) $denominacao = $_POST['denominacao']; else $denominacao = '';
if (isset($_POST['endereco'])) $endereco = $_POST['endereco']; else $endereco = '';
if (isset($_POST['cep'])) $cep = $_POST['cep']; else $cep = '';
if (isset($_POST['bairro'])) $bairro = $_POST['bairro']; else $bairro = '';
if (isset($_POST['cidade'])) $cidade = $_POST['cidade']; else $cidade = '';
if (isset($_POST['estado'])) $estado = $_POST['estado']; else $estado = '';
if (isset($_POST['fone'])) $fone = $_POST['fone']; else $fone = '';
if (isset($_POST['fax'])) $fax = $_POST['fax']; else $fax = '';
if (isset($_POST['cnpj'])) $cnpj = $_POST['cnpj']; else $cnpj = '';
if (isset($_POST['inscricao'])) $inscricao = $_POST['inscricao']; else $inscricao = '';
if (isset($_POST['ramo'])) $ramo = $_POST['ramo']; else $ramo = '';
if (isset($_POST['comprador'])) $comprador = $_POST['comprador']; else $comprador = '';
if (isset($_POST['frete'])) $frete = $_POST['frete']; else $frete = '';
if (isset($_POST['entrega'])) $entrega = $_POST['entrega']; else $entrega = '';
if (isset($_POST['cobranca'])) $cobranca = $_POST['cobranca']; else $cobranca = '';
if (isset($_POST['transporte'])) $transporte = $_POST['transporte']; else $transporte = '';
if (isset($_POST['condicoes'])) $condicoes = $_POST['condicoes']; else $condicoes = '';
if (isset($_POST['pendencias'])) $pendencias = $_POST['pendencias']; else $pendencias = '';
if (isset($_POST['outros'])) $outros = $_POST['outros']; else $outros = '';

if(file_exists("init.php")) {
	require "init.php";
} else {
	echo "Arquivo init.php nao foi encontrado";
	exit;
}

if(!function_exists("Abre_Conexao")) {
	echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
	exit;
}

Abre_Conexao();
if(mysql_query("UPDATE usuarios SET 
	nome = '$nome',
	denominacao = '$denominacao',
	endereco = '$endereco',
	cep = '$cep',
	bairro = '$bairro',
	cidade = '$cidade',
	estado = '$estado',
	fone = '$fone',
	fax = '$fax',
	cnpj = '$cnpj',
	inscricao = '$inscricao',
	ramo = '$ramo',
	comprador = '$comprador',
	frete = '$frete',
	entrega = '$entrega',
	cobranca = '$cobranca',
	transporte = '$transporte',
	condicoes = '$condicoes',
	pendencias = '$pendencias',
	outros = '$outros'
	WHERE nome = $id")) {
	
	if(mysql_affected_rows() == 1){
		echo "Registro atualizado com sucesso";
	}

} else {
	if(mysql_errno() == 1062) {
		echo $erros[mysql_errno()];
		exit;
	} else {
		echo "Erro nao foi possivel efetuar a edição";
		exit;
	}
	mysql_close();
}

}
?>
<a href="listar.php">Voltar</a>


galera, troquei o "id_usuario" do banco de dados e de todas as paginas somente por "id" nao sei pq rsrs mas agora deu certo, obrigado pela ajuda ai, e se alguem puder me indicar algum site de curso/tutorial pra eu poder aprender sobre esses codigos e tals, agradeçoo. vlwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Fiquei com medo de confundi-lo, ele disse q está começando agora....

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);

if (file_exists("init.php")) {
    require "init.php";
} else {
    echo "Arquivo init.php nao foi encontrado";
    exit;
}

function conectar($host, $user, $pass, $banco) {
    $conexao = mysql_connect($host, $user, $pass);
    if ($conexao) {
        $banco = mysql_selectdb($banco, $conexao);
    }
    return $conexao;
}

function desconectar($conect) {
    $desconectar = mysql_close($conect);
    return $desconectar;
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {

    $nome = (isset($_POST["nome"]) ) ? $_POST["nome"] : null;
    $denominacao = (isset($_POST["denominacao"]) ) ? $_POST["denominacao"] : null;
    $endereco = (isset($_POST["endereco"]) ) ? $_POST["endereco"] : null;
    $cep = (isset($_POST["cep"]) ) ? $_POST["cep"] : null;
    $bairro = (isset($_POST["bairro"]) ) ? $_POST["bairro"] : null;
    $cidade = (isset($_POST["cidade"]) ) ? $_POST["cidade"] : null;
    $estado = (isset($_POST["estado"]) ) ? $_POST["estado"] : null;
    $fone = (isset($_POST["fone"]) ) ? $_POST["fone"] : null;
    $fax = (isset($_POST["fax"]) ) ? $_POST["fax"] : null;
    $cnpj = (isset($_POST["cnpj"]) ) ? $_POST["cnpj"] : null;
    $inscricao = (isset($_POST["inscricao"]) ) ? $_POST["inscricao"] : null;
    $ramo = (isset($_POST["ramo"]) ) ? $_POST["ramo"] : null;
    $comprador = (isset($_POST["comprador"]) ) ? $_POST["comprador"] : null;
    $frete = (isset($_POST["frete"]) ) ? $_POST["frete"] : null;
    $entrega = (isset($_POST["entrega"]) ) ? $_POST["entrega"] : null;
    $cobranca = (isset($_POST["cobranca"]) ) ? $_POST["cobranca"] : null;
    $transporte = (isset($_POST["transporte"]) ) ? $_POST["transporte"] : null;
    $condicoes = (isset($_POST["condicoes"]) ) ? $_POST["condicoes"] : null;
    $pendencias = (isset($_POST["pendencias"]) ) ? $_POST["pendencias"] : null;
    $outros = (isset($_POST["outros"]) ) ? $_POST["outros"] : null;


    if (!function_exists("Abre_Conexao")) {
        echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
        exit;
    }

    $conect = conectar('localhost', 'root', 'iso9001', 'pstutoriais');
    $sql = "UPDATE usuarios SET 
        nome = '$nome',
	denominacao = '$denominacao',
	endereco = '$endereco',
	cep = '$cep',
	bairro = '$bairro',
	cidade = '$cidade',
	estado = '$estado',
	fone = '$fone',
	fax = '$fax',
	cnpj = '$cnpj',
	inscricao = '$inscricao',
	ramo = '$ramo',
	comprador = '$comprador',
	frete = '$frete',
	entrega = '$entrega',
	cobranca = '$cobranca',
	transporte = '$transporte',
	condicoes = '$condicoes',
	pendencias = '$pendencias',
	outros = '$outros'
	WHERE nome = $id";

    $executeSql = mysql_query($sql) or die("Erro ao executar o update, verifique tabela, e conexão.");
    if ($executeSql) {
        echo 'Registro atualizado com sucesso!';
    } else {
        if (mysql_errno() == 1062) {
            echo $erros[mysql_errno()];
            exit;
        } else {
            echo "Erro nao foi possivel efetuar a edição";
            exit;
        }
    }
    desconectar($conect);
}
?>
<a href="listar.php">Voltar</a>

Modifiquei algumas coisas no seu código.

Teste o meu, se der certo, faça a comparação para assim aprender mais, mais e mais...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.