Jump to content


Photo

Não Altera Os Dados


  • Faça o login para participar
9 replies to this topic

#1 hostflex

hostflex

    Novato no fórum

  • Usuários
  • 13 posts
  • Sexo:Não informado

Posted 10/10/2007, 23:45

olá,

tenho um formulario que carrega os dados ja cadastrados no BD normalmente, porem, quando chamo o mesmo para alterar qualquer dados e clico em alterar, a resposta é que foi alterado com sucesso, mas ao voltar ao formulario, os dados nao foram alterados, permanecendo da forma original.

sou iniciante no php e estou fazendo este sistema quase que sozinho, só que agora ficou dificil, pois nao consegui achar erro algum nos codigos.

vou colocar os 2 arquivos aqui, afim de achar um abençoado que me de uma ajuda.

desde já, fico muito agradecido.

gustavo

OBS: desculpe caso esteja no local errado e por favor, mova p/ onde seja adequado, pois nao encontrei o mesmo.
=====================

segue o 1º arquivo:

alterar.php

[codebox]<?php

include ("conectar.php");

session_start();

$logado = mysql_query("SELECT * FROM usuario WHERE login=".$_SESSION["id"]);

$nome = mysql_result($logado, 0,'nome');
$cpf = mysql_result($logado, 0,'cpf');
$email = mysql_result($logado, 0,'email');
$senha = mysql_result($logado, 0,'senha');
$fone = mysql_result($logado, 0,'fone');
$estado_civil = mysql_result($logado, 0,'estado_civil');
$profissao = mysql_result($logado, 0,'profissao');
$ramo_atividade = mysql_result($logado, 0,'ramo_atividade');
$endereco = mysql_result($logado, 0,'endereco');
$cep = mysql_result($logado, 0,'cep');
$cidade = mysql_result($logado, 0,'cidade');
$estado = mysql_result($logado, 0,'estado');
$banco = mysql_result($logado, 0,'banco');
$titular_conta = mysql_result($logado, 0,'titular_conta');
$agencia = mysql_result($logado, 0,'agencia');
$conta = mysql_result($logado, 0,'conta');
$digito = mysql_result($logado, 0,'digito');

?>
<html>
<head>
<title></title>
&lt;script language="javascript">

function mascaraFone(evento, input){

if(evento.keyCode == 8)

return;



str = input.value;



if(str.length >= 14)

return;



if (str.length == 1){

str = '(' + str;

input.value = str;

}



if (str.length == 3){

str = str + ') ';

input.value = str;

}



if (str.length == 9){

str = str + '-';

input.value = str;

}

}

</script>
</head>

<body>

<table width="570" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="310" valign="top">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="5%" valign="top"><a href="java script:history.back(1);"><img src="icones/voltar.jpg" width="32" height="32" border="0" align="top"></a></td>
<td width="84%" valign="middle">
<div align="center"><font color="#006699" size="2" face="Verdana"><strong><font color="#006699">
</font></strong><font color="#006699" size="2" face="Verdana">Alterar
Dados de:</font> <strong>
<?= $nome?>
</strong></font><font color="#006699"><br>
</font></div></td>
<td width="5%" valign="top">
<div align="right"><font color="#006699" size="2" face="Verdana"><em><strong><a href="logout.php" target="meio"><img src="icones/sair_pq.jpg" width="32" height="32" border="0"></a></strong></em></font></div></td>
</tr>
</table>
<form name="form1" method="post" action="acao.php?acao=alterar">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="13%"><font color="#006699" size="2" face="Verdana">Nome:</font></td>
<td><font color="#0000FF" size="2" face="Verdana"><em>
<input name="nome" type="text" class="inputs" id="nome" value="<?= $nome?>" size="35" disabled>
</em></font> </td>
<td><font color="#006699" size="2" face="Verdana">CPF:</font></td>
<td width="24%"><font color="#0000FF" size="2" face="Verdana">
<input name="cpf" type="text" class="inputs" id="cpf" value="<?= $cpf?>" size="15" disabled>
<em> </em></font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Email:</font></td>
<td><input name="email" type="text" class="inputs" id="email" value="<?= $email?>" size="35"></td>
<td><font color="#006699" size="2" face="Verdana">Senha:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="senha" type="text" class="inputs" id="senha" value="<?= $senha?>" size="15">
</font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Telefone:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="fone" type="text" class="inputs" id="fone" onKeyDown="mascaraFone(event, this)" value="<?= $fone?>" size="12" maxlength="14">
</font></td>
<td><font color="#006699" size="2" face="Verdana">Estado Civil:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="estado_civil" type="text" class="inputs" id="estado_civil" value="<?= $estado_civil?>" size="15">
</font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Profissão:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="profissao" type="text" class="inputs" id="profissao" value="<?= $profissao?>" size="35">
</font><font color="#0000FF" size="2" face="Verdana"> </font></td>
<td width="16%"><font color="#006699" size="2" face="Verdana">Ramo:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="ramo_atividade" type="text" class="inputs" id="ramo_atividade" value="<?= $ramo_atividade?>" size="15">
</font><font color="#0000FF" size="2" face="Verdana"> </font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Endereço:</font></td>
<td width="47%"><font color="#0000FF" size="2" face="Verdana">
<input name="endereco" type="text" class="inputs" id="endereco" value="<?= $endereco?>" size="35">
</font></td>
<td><font color="#006699" size="2" face="Verdana">CEP:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="cep" type="text" class="inputs" id="cep" value="<?= $cep?>" size="15">
</font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Cidade:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="cidade" type="text" class="inputs" id="cidade" value="<?= $cidade?>" size="35">
</font></td>
<td><font color="#006699" size="2" face="Verdana">UF:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="estado" type="text" class="inputs" id="estado" value="<?= $estado?>" size="15">
</font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Banco:</font></td>
<td colspan="3"><div align="left"><font color="#0000FF" size="2" face="Verdana"><em>
</em>
<input name="banco" type="text" class="inputs" id="banco" value="<?= $banco?>" size="35" disabled>
<em> </em></font></div></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Titular:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="titular_conta" type="text" class="inputs" id="titular_conta" value="<?= $titular_conta?>" size="35">
</font></td>
<td><font color="#006699" size="2" face="Verdana">Agência:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="agencia" type="text" class="inputs" id="agencia" value="<?= $agencia?>" size="15">
</font></td>
</tr>
<tr>
<td><font color="#006699" size="2" face="Verdana">Conta:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="conta" type="text" class="inputs" id="conta" value="<?= $conta?>" size="12">
</font></td>
<td><font color="#006699" size="2" face="Verdana">Digito:</font></td>
<td><font color="#0000FF" size="2" face="Verdana">
<input name="digito" type="text" class="inputs" id="digito" value="<?= $digito?>" size="5">
</font></td>
</tr>
</table>
<table width="100%" cellspacing="0">
<tr>
<td width="33%" height="40"> </td>
<td width="34%"><div align="center"><font color="#0000FF" size="2" face="Verdana">
<input type="submit" name="Submit" value="Atualizar">
</font></div></td>
<td width="33%"> <div align="left"> </div></td>
</tr>
</table>
</form>
</div></td>
</tr>
</table>
<div align="center"></div>
</body>
</html>[/codebox]

===============

e o 2º arquivo:

acao.php

[codebox]<?php

include ("conectar.php");

session_start();

$login= $_POST['login'];

$email= $_POST['email'];

$senha = $_POST['senha'];

if($_REQUEST['acao']=="alterar") {

$sql = "UPDATE usuario SET nome='".$_POST['nome']."', cpf='".$_POST['cpf']."', email='".$_POST['email']."', fone='".$_POST['fone']."', estado_civil='".$_POST['estado_civil']."', profissao='".$_POST['profissao']."', ramo_atividade='".$_POST['ramo_atividade']."', endereco='".$_POST['endereco']."', cidade='".$_POST['cidade']."', estado='".$_POST['estado']."', cep='".$_POST['cep']."', senha='".$_POST['senha']."', banco='".$_POST['banco']."', titular_conta='".$_POST['titular_conta']."', agencia='".$_POST['agencia']."', conta='".$_POST['conta']."', digito='".$_POST['digito']."', WHERE login='".$_SESSION['id']."'";

$sql = mysql_query($sql);

/*header("location:edita.php");*/

echo '<p align="center"><br><br>"Alteração realizada com Sucesso..."</p>';


echo '<p align="center"><br><br><a href="edita.php">Voltar...</a></p>';

}
?>[/codebox]

Edição feita por: Paulo André, 11/10/2007, 06:01.
Inclusão da tag CODEBOX.


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 11/10/2007, 06:02

Olá, tente assim:
$sql = mysql_query($sql) or die(mysql_error());

Se houver algum erro na query (o que é provável), irá ser exibido.

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 hostflex

hostflex

    Novato no fórum

  • Usuários
  • 13 posts
  • Sexo:Não informado

Posted 11/10/2007, 07:39

obrigado amigo, mas em qual arquivo e qual linha eu devo inserir este codigo.....?

nao entendo nada de php e fui montando estes arquivos baseado em sistemas ja funcionando...


vlw

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 11/10/2007, 08:30

Onde você usa a função mysql_query() que faz atualização (UPDATE). ;)

Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 hostflex

hostflex

    Novato no fórum

  • Usuários
  • 13 posts
  • Sexo:Não informado

Posted 11/10/2007, 13:14

oi,

fiz conforme falou, mudei dados, mandei salvar e deu este erro abaixo....por favor, diga o que preciso corrigir, pois eu nao sei interpretar o erro.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE login='9'' at line 1

grato,

gustavo

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 11/10/2007, 13:19

Essa simples vírgula antes do WHERE aí que está complicando sua vida. ;)

Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 hostflex

hostflex

    Novato no fórum

  • Usuários
  • 13 posts
  • Sexo:Não informado

Posted 11/10/2007, 19:35

Oi Paulo,

sua recomendação deu certo.
realmente era a marvada da virgula....

muito obrigado pelo apoio....

mas agora surgiu algo inesperado...

o formulario tem 3 campos que nao podem ser alterados e eu deixei (disabled), só que quando eu altero outros campos que nao estao disabled, os campos que estao disabled ficam sem dados, ou seja, após salvar, o campo que está disabled fica vazio....

por favor, me da outro help aí.....fiquei contente na hora e depois triste.....hehehe

gustavo

Edição feita por: hostflex, 11/10/2007, 19:44.


#8 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 11/10/2007, 22:30

Bem campos com valor "disabled" o Browser ignora e não manda pelo formulário é como se eles estivessem de enfeite ... então a solução é usar um campo do tipo "hidden" para enviar os dados e continuar com os "dibaled" só para exibição ...

<input name="nome" type="text" class="inputs" id="nome" value="<?= $nome?>" size="35" disabled>
<inpt type="hidden" name="nome" value="<?= $nome?>">


#9 hostflex

hostflex

    Novato no fórum

  • Usuários
  • 13 posts
  • Sexo:Não informado

Posted 12/10/2007, 16:38

Valew SK15,


deu certinho....ficou xic o negocio....hehehe

obrigado mesmo.


gustavo

#10 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 13/10/2007, 08:09

<input name="nome" type="text" class="inputs" id="nome" value="<?= $nome?>" size="35" disabled>

É muito mais fácil colocar disabled="disabled" , porque depois se tu for validar o HTML, normalmente ele retorna erro. E às vezes aqui o disabled puro não funciona. :wacko:




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq