Ir para conteúdo

Arquivado

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

Remazela

[Resolvido] PHP - Orientação em Validar Campo E-mail

Recommended Posts

Caros amigos

 

Estou com um problema que não estou conseguindo resolver, para alguns é algo simplesmente fácil, mas estou encontrando dificuldade.

 

preciso validar o campo E-MAIL, que utilizo o seguinte código no meu FORM:

           <form role="form" name="frm_userEdit" id="frm_userEdit" enctype="multipart/form-data" action="" method="POST" onSubmit="return enviardados();" >
              <div class="box-body">

                <div class="form-group">
                  <label for="exampleInputEmail1">Código do Usuário</label>
                  <input type="text" id="userEditaId" name="userEditaId" size="10" class="form-control"
                         value="<?php echo $userEditaId; ?>" style="width:13%" disabled >
                </div>     

                <div class="form-group">
                  <label for="exampleInputEmail1">Nome usuário</label>
                  <input type="text" id="sendUsername" name="sendUsername" size="70" class="form-control"
                         style="width:60%" value="<?php echo $userUsername; ?>" onkeyup="up(this)" > 
                </div> 

                <div class="form-group">
                  <label for="exampleInputEmail1">Senha </label>
                  <input type="password" id="sendSenha" name="sendSenha" size="30" maxlength="8" class="form-control"
                         style="width:32%" placeholder="Se não for Alterar a Senha deixe o CAMPO em branco." >
                  <p class="help-block"><strong>Atenção!</strong> A Senha deve conter apenas 8 caracteres.</p>                         
                </div>         

                <div class="form-group">
                  <label for="exampleInputEmail1">E-mail</label>
                  <input type="text" id="sendEmail" name="sendEmail" size="150" class="form-control" style="width:60%"
                         value="<?php echo $userEmail; ?>" > 
                </div>   

                <div class="form-group">
                  <label for="exampleInputEmail1">Telefone</label>
                  <input type="text" id="sendFone" name="sendFone" size="20" class="form-control" style="width:13%"
                         value="<?php echo $userFone; ?>" > 
                </div>                 

                <div class="form-group">
                 <label for="exampleInputEmail1">Permissão</label>      
                  <select class="form-control" id="sendPermisso" name="sendPermisso" style="width:20%" required>              
                    <option <?php if ($userPermisso=='1') echo 'SELECTED'; ?> value="1" >Administrador</option>
                    <option <?php if ($userPermisso=='2') echo 'SELECTED'; ?> value="2" >Supervisor</option>
                    <option <?php if ($userPermisso=='3') echo 'SELECTED'; ?> value="3" >Compras</option>
                  </select>
                </div> 

              <div class="box-footer">
                <button type="submit" name="executar" id="executar" class="btn btn-primary" value="Atualizar" >Atualizar</button>
                
                <a class="btn btn-danger" name="button" id="button" value="Cancelar" 
                   onclick="frm_userEdit.action='painel.php?exe=admin/clientes/clientes_editList&clienteId=<?php echo $clienteId;?>'; frm_userEdit.submit()" />Cancelar</a>

                <input type="hidden" name="MM_update" value="frm_userEdit">
                <input type="hidden" name="idUser" value="<?php echo $userEditaId; ?>">
                <input type="hidden" name="clienteId" value="<?php echo $clienteId; ?>">
                <input type="hidden" name="sendNivel" value="<?php echo $clienteCategoria; ?>" >                  
              </div>

             </div>
            </form>           

Abaixo fiz essa validação, funciona:

<!--Script para Validar o Formulário -->
<script language="JavaScript" >

    function enviardados(){

        if(document.frm_userEdit.sendUsername.value == "" ) { 
           alert( "Preencha o campo RAZÃO SOCIAL corretamente!" );
           document.frm_userEdit.sendUsername.focus();
           return false;
        }            
     
        if(document.frm_userEdit.sendEmail.value=="" || document.frm_userEdit.sendEmail.value.indexOf('@')==-1 || document.frm_userEdit.sendEmail.value.indexOf('.')==-1 ) {
           alert( "Preencha campo E-MAIL corretamente!" );
           document.frm_userEdit.sendEmail.focus();
           return false;
        }  
      
        if(document.frm_userEdit.sendFone.value=="") { 
           alert( "Preencha campo TELEFONE corretamente!" );
           document.frm_userEdit.sendFone.focus();
           return false;
        }

    return true;

    }


  function up(lstr){              //converte minusculas em maiusculas
    var str=lstr.value;           //obtem o valor
    lstr.value=str.toUpperCase(); //converte as strings e retorna ao campo
  }


  jQuery(function($){
    $("#sendFone").mask("(99)9999-9999");
  });


</script> 

 

Após algumas pesquisa, verifiquei esta opção de validação de e-mail, que não consigo adaptar no meu código:

function validaemail($email){
	//verifica se e-mail esta no formato correto de escrita
	if (!ereg('^([a-zA-Z0-9.-_])*([@])([a-z0-9]).([a-z]{2,3})',$email)){
		$mensagem='E-mail Inv&aacute;lido!';
		return $mensagem;
    }
    else{
		//Valida o dominio
		$dominio=explode('@',$email);
		if(!checkdnsrr($dominio[1],'MX')){
			$mensagem='E-mail Inválido!';
			return $mensagem;
		}
		else{return true;}
	}
}

 

Como consigo adaptar a função de validação no código e como faço para chamar ?

 

Grato,

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, acho que não precisa disso tudo não.

 

pra validar no front-end, só fazer o seguinte:

<input type="email" required name="sendEmail">

(isso já pouparia validação no javascript).

 

Ai no PHP, eu faço o seguinte:

if(filter_var($_POST['sendEmail'], FILTER_VALIDATE_EMAIL)){
    $validInfoEmail = true;
}
else{
    $validInfoEmail = false;
    $mensagemValidacao = "O e-mail não é válido.";
}

Mais curto, moderno e útil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Maykel, grato por sua orientação.

 

Fiz desta forma e funcionou:

            <form role="form" name="frm_editaClie" id="frm_editaClie" enctype="multipart/form-data" action="" method="POST" onSubmit="return enviardados();" >
              <div class="box-body">

                <div class="form-group">
                  <label for="exampleInputEmail1">Código do Cliente</label>
                  <input type="text" id="clienteEditaId" name="clienteEditaId" size="10" class="form-control"
                         value="<?php echo $clienteEditaId; ?>" style="width:13%" disabled >
                </div>     

                <div class="form-group">
                  <label for="exampleInputEmail1">Razão Social</label>
                  <input type="text" id="sendRazaoSocial" name="sendRazaoSocial" size="150" class="form-control"
                         style="width:60%" value="<?php echo $clienteRazaoSocial; ?>" onkeyup="up(this)" > 
                </div> 
                
                <div class="form-group">
                  <label for="exampleInputEmail1">E-mail</label>
                  <input type="text" id="sendMail" name="sendMail" size="150" class="form-control" style="width:60%"
                         value="<?php echo $clienteEmail; ?>" > 
                </div>                   
                
              <div class="box-footer">
                <button type="submit" name="executar" id="executar" class="btn btn-primary" value="Atualizar" >Atualizar</button>
                
                <a class="btn btn-danger" name="button" id="button" value="Cancelar" 
                   onclick="frm_editaClie.action='painel.php?exe=admin/clientes/clientes_editList&clienteId=<?php echo $clienteId;?>'; frm_editaClie.submit()" />Cancelar</a>

                <input type="hidden" name="MM_update" value="frm_editaClie">
                <input type="hidden" name="clienteId" value="<?php echo $clienteEditaId; ?>">
              </div>

             </div>
            </form> 


<script language="JavaScript" >

    function enviardados(){

        if(document.frm_editaClie.sendRazaoSocial.value == "" ) { 
           alert( "Por favor, preencha o campo RAZÃO SOCIAL corretamente!" );
           document.frm_editaClie.sendRazaoSocial.focus();
           return false;
        }            
     
        if(document.frm_editaClie.sendNome.value=="") { 
           alert( "Por favor, preencha campo NOME FANTASIA corretamente!" );
           document.frm_editaClie.sendNome.focus();
           return false;
        }
      
        var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{3,3}(?:\.[a-z]{2})?)$/i;
        if(!filter.test(document.getElementById("sendMail").value)){
          alert('Por favor, preencha campo E-MAIL corretamente');
          document.getElementById("sendMail").focus();
          return false
        }

    return true;

    }
  
  </script> 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.