Ir para conteúdo

Arquivado

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

Otaner

Continua não alterando - PHP

Recommended Posts

Caros amigos

 

Por favor, me desculpa por estar recorrendo a ajuda dos amigos novamente.

 

Estou com o seguinte problema, escrevi uma rotina em PHP de cadastro, para incluir faz numa boa, mas quando preciso alterar não altera.

 

Exclui a linha 26.

 

Abaixo postei o código fonte:

 

Cadastro.php <--- essa rotina é a primeira a ser chamada.


<?
// +---------------------------------------------------------+
// | Cadastro                                                |
// +---------------------------------------------------------+

session_start (); 

include "inc_dbConexao.php";

$total_registros = 0;

if (isset($_POST['txtemail2']) <> "") {
 $txtemail2 = $_POST['txtemail2'];
 $_SESSION['acao'] = $_POST['acao'];
 } else {
 $_SESSION['acao'] = "alt";
 }

if (isset($_GET['txtemail2']) <> "") { 
 $txtemail2 = $_POST['txtemail2'];
 $_SESSION['acao'] = "alt";
 }

//Inclusão de novos dados
if ($_SESSION['acao'] == 'inc') {
 $sql = "SELECT email ";
 $sql = $sql . " FROM cadcli ";
 $sql = $sql . " WHERE email = '" . $txtemail2 . "' ";
 $rs = mysql_query($sql, $conexao);
 $total_registros = mysql_num_rows($rs); 

//Iniciando as variáveis
$txtnome = "";
$txtcpf = "";
$txtrg = "";
$txtsexo = "0";
$txtemail_1 = $_POST['txtemail2'];
$txtemail_2 = "";
$txtsenha_1 = "";
$txtsenha_2 = "";
$txtend_nome = "";
$txtend_num = "";
$txtend_comp = "";
$txtcep = "";
$txtbairro = "";
$txtcidade = "";
$txtuf = "";

//Título da página
$titulo_2 = "Inclusão";
}

//Alterando registro
if ($_SESSION['acao'] == 'alt') {
$txtnome = $_SESSION['nome_cli'];
$txtcpf = $_SESSION['cpf'];
$txtrg = $_SESSION['rg'];
$txtsexo = $_SESSION['sexo'];
$txtemail_1 = $_SESSION['email_cli'];
$txtemail_2 = $_SESSION['email_cli'];
$txtsenha_1 = $_SESSION['senha'];
$txtsenha_2 = $_SESSION['senha'];
$txtend_nome = $_SESSION['end_nome'];
$txtend_num = $_SESSION['end_num'];
$txtend_comp = $_SESSION['end_comp'];
$txtcep = $_SESSION['cep'];
$txtbairro = $_SESSION['bairro'];
$txtcidade = $_SESSION['cidade'];
$txtuf = $_SESSION['uf'];

//Título da página
$titulo_2 = "Alteração";
}

?>

 

Após a Rotina de Cadastro é chamanda a Rotina do Cadastro1.php <--- onde faz as Alterações/Inclusões.


<?
// +---------------------------------------------------------+
// | Inclusão, alteração e visualização do cadastro          |
// +---------------------------------------------------------+

session_start (); 

include "inc_dbConexao.php";

if ($_SESSION['acao'] <> "ver") {
$txtnome = $_POST['txtnome'];
$txtcpf = $_POST['txtcpf'];
$txtrg = $_POST['txtrg'];
$txtsexo = $_POST['txtsexo'];
$txtemail = $_POST['txtemail_1'];
$txtsenha = $_POST['txtsenha_1'];
$txtend_nome = $_POST['txtend_nome'];
$txtend_num = $_POST['txtend_num'];
$txtend_comp = $_POST['txtend_comp'];
$txtcep = $_POST['txtcep'];
$txtbairro = $_POST['txtbairro'];
$txtcidade = $_POST['txtcidade'];
$txtuf = $_POST['txtuf'];

//Atualiza variáveis sessão
//$_SESSION['id_cli'] =  $reg['id']; //---  linha 26 ignorada.
$_SESSION['nome_cli'] = $txtnome;
$_SESSION['cpf'] = $txtcpf;
$_SESSION['rg'] = $txtrg;
$_SESSION['sexo'] = $txtsexo;
$_SESSION['email_cli'] = $txtemail;
$_SESSION['senha'] = $txtsenha;
$_SESSION['end_nome'] = $txtend_nome;
$_SESSION['end_num'] = $txtend_num;
$_SESSION['end_comp'] = $txtend_comp;
$_SESSION['cep'] = $txtcep;
$_SESSION['bairro'] = $txtbairro;
$_SESSION['cidade'] = $txtcidade;
$_SESSION['uf'] = $txtuf;
}

//Inclusão de novos dados
if ($_SESSION['acao'] == 'inc') {
 $sql = "INSERT INTO cadcli ";
 $sql = $sql . "(nome,cpf,rg,sexo,email,senha,end_nome,end_num,end_comp,cep,bairro,cidade,uf) ";
 $sql = $sql . "VALUES ('$txtnome','$txtcpf','$txtrg','$txtsexo','$txtemail','$txtsenha','$txtend_nome','$txtend_num','$txtend_comp','$txtcep','$txtbairro','$txtcidade','$txtuf') ";
 mysql_query($sql, $conexao);

//Recuperando dados
$sql = " SELECT * ";
$sql = $sql . " FROM cadcli ";
$sql = $sql . " WHERE cpf = '" . $_SESSION['cpf'] . "' ";
$rs = mysql_query($sql, $conexao);
$reg = mysql_fetch_array($rs);

//Armazenando dados
$_SESSION['id_cli'] = $reg['id'];
$_SESSION['email_cli'] = $reg['email'];
$_SESSION['nome_cli'] = $reg['nome'];
$_SESSION['cpf'] = $reg['cpf'];
$_SESSION['rg'] = $reg['rg'];
$_SESSION['sexo'] = $reg['sexo'];
$_SESSION['senha'] = $reg['senha'];
$_SESSION['end_nome'] = $reg['end_nome'];
$_SESSION['end_num'] = $reg['end_num'];
$_SESSION['end_comp'] = $reg['end_comp'];
$_SESSION['cep'] = $reg['cep'];
$_SESSION['bairro'] = $reg['bairro'];
$_SESSION['cidade'] = $reg['cidade'];
$_SESSION['uf'] = $reg['uf'];
}

//Alterando registro
if ($_SESSION['acao'] == 'alt') {
$sql = "UPDATE cadcli SET ";
$sql = $sql . "nome = '$txtnome', "; 
$sql = $sql . "cpf = '$txtcpf', ";
$sql = $sql . "rg = '$txtrg', ";
$sql = $sql . "sexo = '$txtsexo', ";
$sql = $sql . "email = '$txtemail', ";
$sql = $sql . "senha = '$txtsenha', ";
$sql = $sql . "end_nome = '$txtend_nome', ";
$sql = $sql . "end_comp = '$txtend_comp', ";
$sql = $sql . "cep = '$txtcep', ";
$sql = $sql . "bairro = '$txtbairro', ";
$sql = $sql . "cidade = '$txtcidade', ";
$sql = $sql . "uf = '$txtuf', ";
$sql = $sql . " WHERE id = '" . $_SESSION['id_cli'] . "' ";
mysql_query($sql, $conexao);
}

//Variável de mensagem 
$mensagem = "";
$titulo_2 = "Informações Cadastrais";

if ($_SESSION['acao'] == 'alt') {
$mensagem = "* Sua alteração cadastral foi concluída com sucesso.";
$titulo_2 = "Alteração";
}

if ($_SESSION['acao'] == 'ins') {
$mensagem = "* Seu cadastro foi concluído com sucesso.";
$titulo_2 = "Inclusão";
}

?>

 

Por favor, como concerto esse erro.

 

Grato a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão cade o select que tras o :

 

 $reg['id'];

 

 

 

Pode ver que mais abaixo você esta fazendo da mesma forma e esta funcionando isto porque ha o select no banco:

 

//Recuperando dados
$sql = " SELECT * ";
$sql = $sql . " FROM cadcli ";
$sql = $sql . " WHERE cpf = '" . $_SESSION['cpf'] . "' ";
$rs = mysql_query($sql, $conexao);
$reg = mysql_fetch_array($rs);

//Armazenando dados
$_SESSION['id_cli'] = $reg['id'];

 

 

Se não entendeu poste ai :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Este seu código está bastante confuso, e você foi muito imparcial. Precisamos de mais detalhes sobre o erro que acusa - se acusar - e em que linha o mesmo está. Você deu poucas referências.

 

Para todos os casos, não entendo o porquê de tanto "$sql" aí.

 

Bom, tente - ao alterar o perfil - utilizar a seguinte query:

 if ($_SESSION['acao'] == 'alt') {
$sql = "UPDATE cadcli SET ";
$sql = $sql . "nome = '$txtnome', "; 
$sql = $sql . "cpf = '$txtcpf', ";
$sql = $sql . "rg = '$txtrg', ";
$sql = $sql . "sexo = '$txtsexo', ";
$sql = $sql . "email = '$txtemail', ";
$sql = $sql . "senha = '$txtsenha', ";
$sql = $sql . "end_nome = '$txtend_nome', ";
$sql = $sql . "end_comp = '$txtend_comp', ";
$sql = $sql . "cep = '$txtcep', ";
$sql = $sql . "bairro = '$txtbairro', ";
$sql = $sql . "cidade = '$txtcidade', ";
$sql = $sql . "uf = '$txtuf' ";
$sql = $sql . " WHERE id = '" . $_SESSION['id_cli'] . "' ";
mysql_query($sql, $conexao);
}

 

Parece que você deixou uma vírgula no último "SET" do Update.

 

Abraços! ;)

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.