Otaner 0 Denunciar post Postado Maio 26, 2011 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
William Espindola 4 Denunciar post Postado Maio 26, 2011 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
Guilherme Oderdenge 42 Denunciar post Postado Maio 26, 2011 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