Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Validação de formulário

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Validação de formulário

    Eae galera, estou tendo uma dor de cabeça com meu formulário, nçao acho que deva ser algo muito complexo, mas sinceramente eu não consegui resolver e nem achar os erros... vamos lá.

    Estou tendo 2 problemas:

    1º - O seguintes erros me perseguem:

    Notice: Undefined index: sexo in cadastro.php on line 212
    Notice: Undefined index: cod_cid in cadastro.php on line 217
    Notice: Undefined index: politica in cadastro.php on line 226
    Notice: Undefined index: term in cadastro.php on line 227

    2º - Estou fazendo uma validação em javascript e php, na parte de javascript ta tudo ok, mas no php estou tentando não perder os dados na hora de enviar os dados, e queria deixar o radio button e os check selecionados, caso o usuário tenha selecionado antes de enviar o formulário.

    Ai vai partes do código:

    Código PHP:

    <?php

     
    include("include/connect.php");

     if(
    $_SERVER['REQUEST_METHOD']=="POST"){
         
    $nome mysql_real_escape_string($_POST['nome']);
         
    $rg mysql_real_escape_string($_POST['rg']);
         
    $cpf mysql_real_escape_string($_POST['cpf']);
         
    $sexo $_POST['sexo']; // linha 212
         
    $data_nasc mysql_real_escape_string($_POST['data_nasc']);
         
    $cep mysql_real_escape_string($_POST['cep']);
         
    $endereco mysql_real_escape_string($_POST['endereco']);
         
    $bairro mysql_real_escape_string($_POST['bairro']);
         
    $cid $_POST['cod_cid']; // linha 217
         
    $telefone mysql_real_escape_string($_POST['telefone']);
         
    $celular mysql_real_escape_string($_POST['celular']);
         
    $fax mysql_real_escape_string($_POST['fax']);
         
    $email mysql_real_escape_string($_POST['email']);
         
    $conf_emailmysql_real_escape_string($_POST['conf_email']);
         
    $login mysql_real_escape_string($_POST['login']);
         
    $senha md5(mysql_real_escape_string($_POST['senha']));
         
    $conf_senhamd5(mysql_real_escape_string($_POST['conf_senha']));
         
    $politica $_POST['politica']; // linha 226
         
    $term $_POST['term']; // linha 227


         
    if(empty($nome)){
             
    $retorno '<div align="center" id="falha">Preencha o nome!</div>';
         }elseif(empty(
    $rg)){
             
    $retorno '<div align="center" id="falha">Preencha o RG!</div>';
         }elseif(empty(
    $cpf)){
             
    $retorno '<div align="center" id="falha">Preencha o CPF!</div>';
         }elseif(empty(
    $sexo)){
             
    $retorno '<div align="center" id="falha">Preencha o sexo!</div>';
         }elseif(empty(
    $data_nasc)){
             
    $retorno '<div align="center" id="falha">Preencha o nascimento!</ div>';
         }elseif(empty(
    $cep)){
             
    $retorno '<div align="center" id="falha">Preencha o CEP!</div>';
         }elseif(empty(
    $endereco)){
             
    $retorno '<div align="center" id="falha">Preencha o Endereço!</div>';
         }elseif(empty(
    $bairro)){
             
    $retorno '<div align="center" id="falha">Preencha o Bairro!</div>';
         }elseif(empty(
    $estado)){
             
    $retorno '<div align="center" id="falha">Escolha o Estado!</div>';
         }elseif(empty(
    $cidade)){
             
    $retorno '<div align="center" id="falha">Escolha a Cidade!</div>';
         }elseif(empty(
    $telefone)){
             
    $retorno '<div align="center" id="falha">Preencha o Telefone!</div>';
         }elseif(empty(
    $email)){
             
    $retorno '<div align="center" id="falha">Preencha o Email!</div>';
         }elseif(empty(
    $conf_email)){
             
    $retorno '<div align="center" id="falha">Preencha a Confirmação de Email!</div>';
         }elseif(empty(
    $login)){
             
    $retorno '<div align="center" id="falha">Preencha o Login!</div>';
         }elseif(empty(
    $senha)){
             
    $retorno '<div align="center" id="falha">Preencha a Senha!</div>';
         }elseif(empty(
    $conf_senha)){
             
    $retorno '<div align="center" id="falha">Preencha a Confirmação de Senha!</div>';
     }

         echo 
    $retorno;

         if(
    "$_POST[nome]>= 1){
             
    $nome "$_POST[nome]";
         }else{
             
    $nome '';
         }if(
    "$_POST[rg]>= 1){
             
    $rg "$_POST[rg]";
         }else{
             
    $rg '';
         }if(
    "$_POST[fax]>= 1){
             
    $fax "$_POST[fax]";
         }else{
             
    $fax '';
         }if(
    "$_POST[cpf]>= 1){
             
    $cpf "$_POST[cpf]";
         }else{
             
    $cpf '';
         }if(
    "$_POST[celular]>= 1){
             
    $celular "$_POST[celular]";
         }else{
             
    $celular '';
         }if(
    "$_POST[data_nasc]>= 1){
             
    $data_nasc "$_POST[data_nasc]";
         }else{
             
    $data_nasc '';
         }if(
    "$_POST[endereco]>= 1){
             
    $endereco "$_POST[endereco]";
         }else{
             
    $endereco '';
         }if(
    "$_POST[cep]>= 1){
             
    $cep "$_POST[cep]";
         }else{
             
    $cep '';
         }if(
    "$_POST[bairro]>= 1){
             
    $bairro "$_POST[bairro]";
         }else{
             
    $bairro '';
         }
         if(
    "$_POST[estado]>= 1){
             
    $estado "$_POST[estado]";
         }else{
             
    $estado '';
         }
    //if("$_POST[cidade]" >= '1'){
             //$cidade = "$_POST[cidade]";
         //}else{
             //$cidade = '';
         //}
         
    if("$_POST[telefone]>= 1){
             
    $telefone "$_POST[telefone]";
         }else{
             
    $telefone '';
         }if(
    "$_POST[email]>= 1){
             
    $email "$_POST[email]";
         }else{
             
    $email '';
         }if(
    "$_POST[login]>= 1){
             
    $login "$_POST[login]";
         }else{
             
    $login '';
         }

     }


     
    ?>
    Aqui é a parte HTML:

    Código:
    <label>
       Masculino
          <input type="radio" name="sexo" id="masculino" value="masculino" />
       Feminino
          <input type="radio" name="sexo" id="feminino" value="feminino"  />
    </label>
    
    <label>
        <input type="checkbox" name="politica" id="politica" />
        Politica de Privacidade
    </label>
    
    <label style="display:none;" for="politica"
        class="error">Aceite a Política de Privacidade
    </label>
    
    <label>
        <input type="checkbox" name="term" id="term" />Termos de Uso</label><label style="display:none;" for="term" class="error">Aceite os termos de uso
    </label>
    Eu não postei a parte da cidade porque eu estou fazendo o carregamento por ajax, quando o usuário escolhe um estado lista as cidades.

    Desculpa ae se ta muito grande e se for uma coisa muito idiota, mas empaquei aqui =/


    E pior, cada hora da um erro em um lugar diferente, por exemplo:

    se eu desativo o javascript e dou um echo $nome (sem aspas) aparece assim no input:

    <br /><font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'><tr><th align='left' bgcolor='#f57900' colspan=

    e da o erro:

    Notice: Undefined variable: nome in cadastro.php on line 351

    e se eu dou um echo '$nome' (aspas simples) aparece assim no input: $nome

    e não da nenhum erro no php

  • Font Size
    #2
    Amigo, seu codigo html não tem abertura do Form
    por isso o erro do Index
    basicamente ele diz
    não encotrei um indice com o nome de bla bla bla
    no seu caso faça o seguinte e me dia se funcionou

    Código PHP:

    <form action="pagina.php" method="post">

    <
    label>
       
    Masculino
          
    <input type="radio" name="sexo" id="masculino" value="masculino" />
       
    Feminino
          
    <input type="radio" name="sexo" id="feminino" value="feminino"  />
    </
    label>

    <
    label>
        <
    input type="checkbox" name="politica" id="politica" />
        
    Politica de Privacidade
    </label>

    <
    label style="display:none;" for="politica"
        
    class="error">Aceite a Política de Privacidade
    </label>

    <
    label>
        <
    input type="checkbox" name="term" id="term" />Termos de Uso</label><label style="display:none;" for="term" class="error">Aceite os termos de uso
    </label>




    </
    form


    Caso já tenha postado as tags form, porém não tenha mostrado aqui no forum, verifique se a mesma tem o method setado como post
    porque por padrão quando deixado em branco ele se torna get.

    me de o feedback se possivel.

    Comment


    • Font Size
      #3
      eae 5Y5T3M, então eu to abrindo e fechando o form sim, só não postei porque o codigo ta grande

      Código:
      <form id="formContato" method="post" action="cadastro.php" enctype="multipart/form-data">

      Comment


      • Font Size
        #4
        me diga uma coisa maninho .. porque voce esta verificando cada $_POST entre aspas ainda é maior que 1 ? outra coisa voce nao precisa abrir e fechar chave para if e else simples isso bagunça mais o código e outra cade a verificação em JS ?

        Comment


        • Font Size
          #5
          diminua seu código, tente assim

          Código PHP:
                   $nome  'A';
               if(empty(
          $nome) || strlen($nome) <= 1)
                   echo 
          'seu nome deve ter no minimo 2 letras';
              else
                  echo 
          'seu nome esta ok'

          Comment


          • Font Size
            #6
            Tire fora o $_SERVER['REQUEST_METHOD']=="POST" do começo ( digo o if inteiro ), depois tente novmente.

            Mais vendo melhor seu codigo , não entedi algo , la mostra que esta dando erro la pelas linahs 200 , este codigo que você postou so tem 126 linhas.
            Então acho que o erro não esta ai. ( Poste o codigo da linha certa Oks ? )

            E como dito acima pelo amigos, não faça tantos ifs dessa forma.

            Comment


            • Font Size
              #7
              Opa eae pessoal, valeu mesmo pela ajuda, eu consegui resolver o problema aqui, fiz o seguinte:
              Eu estou validando em js como antes, e assim que o usuário enviar o formulário vai para outra pagina e la to validando em php, assim ficou mais fácil...
              Mas depois ainda vou fazer em ajax

              Valeu ai a quem ajudou

              Comment

              X
              Working...
              X