eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Olá pessoal...eu de novo.... Tenho um formulário de cadastro, onde carrego o mesmo dentro de uma div usando ajax....ele é carregado dentro da div.....faz todas as verificações de JS(campos obrigatórios), esta validando...só que quando clico em "enviar".....exibe vários "notices" e logo abaixo esse "notices" exibe a msg de cadastrado com sucesso, porém qnd olho no BD não cadastrou nada......segue abaixo as msgs de erro: Notice: Undefined index: nome in insere.php on line 19 Notice: Undefined index: rg in insere.php on line 20 Notice: Undefined index: cpf in insere.php on line 21 form_inscricao.php <form action="javascript: enviaForm('cadastro', 'cadastro/insere_participante.php','conteudo');" name="cadastro" id="cadastro" method="post" onSubmit="return validar()"> <div> <span class="campos_div_esq">Nome:</span> <span class="input"> <input type="text" name="nome" size="35" id="nome"/> </span><br /><br /> <span class="campo_rg"> R.G: </span> <span class="input"> <input type="text" name="rg" id="rg" /> </span> <span class="txt_tabela">CPF: </span> <input type="text" name="cpf" id="cpf" /><br /><br /> <span class="campo_end"> Endereço: </span> <span class="input"> <input type="text" name="end" id="end" /> </span> <input type="submit" value="Enviar" ONCLICK="valida (this.form)" /> </div> </form> insere.php <div id="conteudo"> <?php include "conexao.php"; $nome = $_POST['nome']; $rg = $_POST['rg']; $cpf = $_POST['cpf']; /******************************************************** Verifica se o CPF do participante já esta cadastrado *********************************************************/ $busca_cpf = "SELECT * FROM participantes WHERE cpf='$cpf'"; //fazendo a pesquisa $res_busca_cpf = mysql_query($busca_cpf); //realizando a requisição if($resultado = mysql_fetch_row($res_busca_cpf)) { $nome = "$resultado[1]"; echo"<script>alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante: $nome '); document.location.href='form_inscricao.php'; </script> "; } else{ $sql = "INSERT INTO participantes(nome, rg, cpf) VALUES('$nome','$rg','$cpf')"; $rs = mysql_query($sql,$con) or die (mysql_error()); } $msg = "Cliente CADASTRADO com sucesso"; echo $msg; mysql_close($con); ?> Como faço para corrigir esses notices sem colocar o "@" é claro.... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 Porquê não é POST, é GET. Se eu não me engano esse método de AJAX que você está usando leva as informações como GET. E desculpa por não te ajudar naquele seu outro problema do SELECT dinâmico... eu não consigo pensar no que está dando errado. Eu testei aqui e funcionou. =/ Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Porquê não é POST, é GET. Se eu não me engano esse método de AJAX que você está usando leva as informações como GET. E desculpa por não te ajudar naquele seu outro problema do SELECT dinâmico... eu não consigo pensar no que está dando errado. Eu testei aqui e funcionou. =/ Oláa.....deu certo.....obrigada..... e com relação ao problema do select.....eu ainda estou tentando...... Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Porquê não é POST, é GET. Se eu não me engano esse método de AJAX que você está usando leva as informações como GET. E desculpa por não te ajudar naquele seu outro problema do SELECT dinâmico... eu não consigo pensar no que está dando errado. Eu testei aqui e funcionou. =/ Oláa.....deu certo.....obrigada..... e com relação ao problema do select.....eu ainda estou tentando...... uma pergunta....eu quero colocar o código de insereção na msm página do form de cadastro.....to fazendo mais não esta dando certo..... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 você tem que por um if assim: if($_GET['nome'] != "")Antes disso: $nome = $_POST['nome']; $rg = $_POST['rg']; $cpf = $_POST['cpf']; Porquê ele vai ler o GET e não ter nada. Dae se ele tiver vazio ele não entra no IF, agora quando você preencher ele não vai estar vazio, vai entrar no IF e vai fazer resto do código. (= Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 você tem que por um if assim: if($_GET['nome'] != "")Antes disso: $nome = $_POST['nome']; $rg = $_POST['rg']; $cpf = $_POST['cpf']; Porquê ele vai ler o GET e não ter nada. Dae se ele tiver vazio ele não entra no IF, agora quando você preencher ele não vai estar vazio, vai entrar no IF e vai fazer resto do código. (= Certo...mais tenho uma verificação se o CPF já estiver cadastro ele da um alert....esse alerta não esta acontecendo.....ele só cadastra se o CPF não existir no BD...caso exista...ele esta fazendo o seguinte: da msg de cadastro c sucesso ..mais não cadastra <?php include "../include/conexao.php"; if($_GET['nome'] != "") { $nome = $_GET['nome']; $rg = $_GET['rg']; $cpf = $_GET['cpf']; } /******************************************************** Verifica se o CPF do participante já esta cadastrado *********************************************************/ $busca_cpf = "SELECT * FROM participantes WHERE cpf='$cpf'"; //fazendo a pesquisa $res_busca_cpf = mysql_query($busca_cpf); //realizando a requisição if($resultado = mysql_fetch_row($res_busca_cpf)) { $nome = "$resultado[1]"; echo"<script>alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante: $nome '); document.location.href='form_inscricao.php'; </script> "; } else{ $sql = "INSERT INTO participantes(nome, rg, cpf) VALUES('$nome','$rg','$cpf')"; $rs = mysql_query($sql,$con) or die (mysql_error()); } $msg = "Cliente CADASTRADO com sucesso"; echo $msg; mysql_close($con); ?> <div id="geral"> <div id="conteudo"> <div class="form"> <form action="javascript: enviaForm('cadastro', 'cadastro/form_inscricao.php','conteudo');" name="cadastro" id="cadastro" method="post" onSubmit="return validar()"> <div> <input type="hidden" name="ano_ciaa" id="ano_ciaa" size="5" value="2010"/> </div> <div> <span class="campos_div_esq">Nome:</span> <span class="input"> <input type="text" name="nome" size="35" id="nome"/> </span><br /><br /> <span class="campo_rg"> R.G: </span> <span class="input"> <input type="text" name="rg" id="rg" /> </span> <span class="txt_tabela">CPF: </span> <input type="text" name="cpf" id="cpf" /><br /><br /> <input type="submit" value="Enviar" ONCLICK="valida (this.form)" /> </div> </form> </div> </div> </div> </div> Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 É porque sua variável: $msg = "Cliente CADASTRADO com sucesso"; Está fora das condições que você fez. É só colocar entro do Else. $busca_cpf = "SELECT * FROM participantes WHERE cpf='$cpf'"; //fazendo a pesquisa $res_busca_cpf = mysql_query($busca_cpf); //realizando a requisição $linha = mysql_fetch_row($res_busca_cpf); if($linha > 0) { $nome = "$resultado[1]"; $msg = 'Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:'. $nome; echo "<meta http-equiv='refresh' content='3;url=form_inscricao.php'>"; } else { $sql = "INSERT INTO participantes(nome, rg, cpf) VALUES('$nome','$rg','$cpf')"; $rs = mysql_query($sql,$con) or die (mysql_error()); $msg = "Cliente CADASTRADO com sucesso"; } echo $msg; Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 É porque sua variável: $msg = "Cliente CADASTRADO com sucesso"; Está fora das condições que você fez. É só colocar entro do Else. $busca_cpf = "SELECT * FROM participantes WHERE cpf='$cpf'"; //fazendo a pesquisa $res_busca_cpf = mysql_query($busca_cpf); //realizando a requisição $linha = mysql_fetch_row($res_busca_cpf); if($linha > 0) { $nome = "$resultado[1]"; $msg = 'Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:'. $nome; echo "<meta http-equiv='refresh' content='3;url=form_inscricao.php'>"; } else { $sql = "INSERT INTO participantes(nome, rg, cpf) VALUES('$nome','$rg','$cpf')"; $rs = mysql_query($sql,$con) or die (mysql_error()); $msg = "Cliente CADASTRADO com sucesso"; } echo $msg; mais no caso você colocou um echo....para imprimir na tela a msg...eu quero colocar um alert p dps colocar foco no campo CPF....entendeu? p pessoa não ter q digitar td de novo Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 Haa entendi, desculpa. Troca a linha então por esta: echo "<script type='text/javascript'> alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:". $nome. "'); document.cadastro.nome.focus(); </script>"; Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Haa entendi, desculpa. Troca a linha então por esta: echo "<script type='text/javascript'> alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:". $nome. "'); document.cadastro.nome.focus(); </script>"; ele não exibe o alerta....volta para o formulário.... Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Haa entendi, desculpa. Troca a linha então por esta: echo "<script type='text/javascript'> alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:". $nome. "'); document.cadastro.nome.focus(); </script>"; ele não exibe o alerta....volta para o formulário.... Esta acontecendo o seguinte...fiz um teste....carreguei o form_inscrição.php....direto no navegador....fora da "div"....ele executa todos os JS....somente qnd carrego dentro da div q esta acontecendo isso...parece q não reconhece o JS....e tb esta retornando essa mgs Notice: Undefined index: nome variavel q se refere a if($_GET['nome'] != "") Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 Veja o que eu fiz: <?php include "../include/conexao.php"; if(isset($_GET['nome']) && $_GET['nome'] != "") { $nome = $_GET['nome']; $rg = $_GET['rg']; $cpf = $_GET['cpf']; /******************************************************** Verifica se o CPF do participante já esta cadastrado *********************************************************/ $busca_cpf = "SELECT * FROM participantes WHERE cpf='$cpf'"; //fazendo a pesquisa $res_busca_cpf = mysql_query($busca_cpf); //realizando a requisição $linha = mysql_fetch_row($res_busca_cpf); if($linha > 0) { $nome = mysql_result($res_busca_cpf,0,'nome'); $msg = 'Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:'. $nome; echo "<script type='text/javascript'> alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:". $nome. "'); document.cadastro.nome.focus(); </script>"; } else { $sql = "INSERT INTO participantes(nome, rg, cpf) VALUES('$nome','$rg','$cpf')"; $rs = mysql_query($sql,$con) or die (mysql_error()); $msg = "Cliente CADASTRADO com sucesso"; } echo $msg; mysql_close($con); } ?> <div id="geral"> <div id="conteudo"> <div class="form"> <form action="javascript: enviaForm('cadastro', 'cadastro/form_inscricao.php','conteudo');" name="cadastro" id="cadastro" method="post" onsubmit="return validar()"> <div> <input type="hidden" name="ano_ciaa" id="ano_ciaa" size="5" value="2010"/> </div> <div> <span class="campos_div_esq">Nome:</span> <span class="input"> <input type="text" name="nome" size="35" id="nome"/> </span><br /><br /> <span class="campo_rg"> R.G: </span> <span class="input"> <input type="text" name="rg" id="rg" /> </span> <span class="txt_tabela">CPF: </span> <input type="text" name="cpf" id="cpf" /><br /><br /> <input type="submit" value="Enviar" onclick="valida (this.form)" /> </div> </form> </div> </div> </div> </div> Só um detalhe, você falou do JS que parece que nao funciona né. você tem que chamar o arquivo na página principal. você ja fez isso neh ? acho que você falou. Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Veja o que eu fiz: <?php include "../include/conexao.php"; if(isset($_GET['nome']) && $_GET['nome'] != "") { $nome = $_GET['nome']; $rg = $_GET['rg']; $cpf = $_GET['cpf']; /******************************************************** Verifica se o CPF do participante já esta cadastrado *********************************************************/ $busca_cpf = "SELECT * FROM participantes WHERE cpf='$cpf'"; //fazendo a pesquisa $res_busca_cpf = mysql_query($busca_cpf); //realizando a requisição $linha = mysql_fetch_row($res_busca_cpf); if($linha > 0) { $nome = mysql_result($res_busca_cpf,0,'nome'); $msg = 'Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:'. $nome; echo "<script type='text/javascript'> alert('Descupe mais você já deve ter realizado o curso em outro Ano! CPF já cadastrado!!! Para o participante:". $nome. "'); document.cadastro.nome.focus(); </script>"; } else { $sql = "INSERT INTO participantes(nome, rg, cpf) VALUES('$nome','$rg','$cpf')"; $rs = mysql_query($sql,$con) or die (mysql_error()); $msg = "Cliente CADASTRADO com sucesso"; } echo $msg; mysql_close($con); } ?> <div id="geral"> <div id="conteudo"> <div class="form"> <form action="javascript: enviaForm('cadastro', 'cadastro/form_inscricao.php','conteudo');" name="cadastro" id="cadastro" method="post" onsubmit="return validar()"> <div> <input type="hidden" name="ano_ciaa" id="ano_ciaa" size="5" value="2010"/> </div> <div> <span class="campos_div_esq">Nome:</span> <span class="input"> <input type="text" name="nome" size="35" id="nome"/> </span><br /><br /> <span class="campo_rg"> R.G: </span> <span class="input"> <input type="text" name="rg" id="rg" /> </span> <span class="txt_tabela">CPF: </span> <input type="text" name="cpf" id="cpf" /><br /><br /> <input type="submit" value="Enviar" onclick="valida (this.form)" /> </div> </form> </div> </div> </div> </div> Só um detalhe, você falou do JS que parece que nao funciona né. você tem que chamar o arquivo na página principal. você ja fez isso neh ? acho que você falou. o JS esta na página principal sim.... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 você copiou esse código acima e testou ? Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 você copiou esse código acima e testou ? sim...ele exibe na tela a msg..mais o alert ele não mostra e não coloca foco no campo do CPF... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 Esse trecho do PHP você colocou antes de todo o HTML ? Se não, coloque. Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Esse trecho do PHP você colocou antes de todo o HTML ? Se não, coloque. Coloquei antes de todo o HTML...o alert ainda não é mostrado... Esse trecho do PHP você colocou antes de todo o HTML ? Se não, coloque. Coloquei antes de todo o HTML...o alert ainda não é mostrado... pode ser o fato de eu estar usando ajax....p carregar um form dentro de uma div? Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 Entãoo... talvez sim. Porque eu nao testei aqui, só testei o alert em PHP, mas nao como você ta fazendo. Você está fazendo uma página idêntica a uma que eu já fiz. Mas eu nao usei JS para alertar, usei mensagem mesmo. =) Acho que não é necessário... pelo menos no meu caso. Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 23, 2010 Entãoo... talvez sim. Porque eu nao testei aqui, só testei o alert em PHP, mas nao como você ta fazendo. Você está fazendo uma página idêntica a uma que eu já fiz. Mas eu nao usei JS para alertar, usei mensagem mesmo. =) Acho que não é necessário... pelo menos no meu caso. É q tipo....o formulário é grande....por exemplo a pessoa começa a digitar, entra c todos os dados e por discuido digita o CPF errado e vamos pensar q esse CPF já esta no banco...qnd a pessoa clicar em enviar vai retornar p página com a msg na tela....só que todos os dados foram apagados......é como se desse um "F5" na página....não pode ser pelo fato de estar passando assim <form action="javascript: enviaForm('cadastro', 'cadastro/form_inscricao.php','conteudo');" name="cadastro" id="cadastro" method="post" onsubmit="return validar()">, ou seja estou enviando p a msm página....? Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 23, 2010 Entendi Que coisa =/ Tem como você fazer a verificação logo após digitar o CPF. Dae você nao vai ter mais esse problema. Usa AJAX tbm. woieowie Aqui no forum tem, no lab de scripts. Compartilhar este post Link para o post Compartilhar em outros sites