Ir para conteúdo

POWERED BY:

Arquivado

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

Tom Ferreira

Formulário de Cadastro em PHP, Jquey e Mysql

Recommended Posts

Olá pessoal preciso de ajuda para validar validar o campo LOGIN nesse código.

Na verdade, eu quero apenas informar ao usuário do site que o campo login precisa ser preenchido (ou não pode ficar em branco) também, OK

 

$(function(){
    $('#alerta-sucesso-formulario, #alerta-erro-login, #alerta-erro-senha').hide();
    $("#btn-cadastrar").on("click",function(){
        $('#alerta-sucesso-formulario, #alerta-erro-login').hide();
            if($('#senha').val().length < 3){
                $("#alerta-erro-senha").fadeIn('slow');
                return false;
            }
            else {
                $("#alerta-erro-senha").fadeOut('slow');
            var objDados = {
                nome  : $("#nome").val(),
                login : $("#login").val(),
                senha : $("#senha").val()
            }
            objDados = JSON.stringify(objDados);
            $.ajax({
                type: "post",
                data: {dados: objDados},
                url: "verificar.php",
                success: function(dados){
                    if(dados === 'true'){
                        $("#alerta-erro-login").fadeIn('slow');
                        $("#alerta-sucesso-formulario").fadeOut('slow');
                    }
                    else {
                        $("#alerta-sucesso-formulario").fadeIn('slow');
                        $("#alerta-erro-login").fadeOut('slow');
                    }
                }
            })
            }
    })
})

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo login fica dentro de um form ??

Se for um form, faz isso:

$(function()
{

	$("#formDoLogin").submit(function(){

				
		if($('#login').val().length==0)
		{
			alert('O campo login esta em branco');
		}
		else
		{
			return true;
		}

		return false;
	});
	
});

Ou chama apenas uma função com um onclick no botão de login:

function validaCampos()
{
     if($('#login').val().length==0)
     {
	alert('O campo login esta em branco');
     }
     else
     {
	return true;
     }
}

 

Vendo o script que vc posto ai, a sua função é mais complexa do que as que coloquei ai, inclusive vc fez o que vc precisa com o campo senha! Vc manja de jquery, pegou esse codigo pronto em algum lugar e esta tentando implementar.... ??

 

O que eu coloquei ai é o que vc precisa ? Entendeu o que o codigo faz ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Prezado chamuska obrigado pela sua ajuda,

Na verdade eu não sei nada de Jquery mesmo, rsss

O seu código acima FUNCIONOU direitinho no Firefox, mas o grande problema é que ele precisa funcionar nos navegadores mais antigos como IE7 entendeu?

Será que dá pra fazer ele funcionar neles?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Tom Ferreira, qual versão do jQuery vc tá usando ?

 

a versão 2.x realmente não tem suporte a navegadores antigos.

use uma versão anterior da lib, a 1.x

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Tom Ferreira, qual versão do jQuery vc tá usando ?

 

a versão 2.x realmente não tem suporte a navegadores antigos.

use uma versão anterior da lib, a 1.x

É isso mesmo William Bruno, eu tô usando uma versão antiga do jQuery...

Valew pela resposta e se puder me dar mais uma luz aí eu agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não tem nenhum erro nesse código que impeça de funcionar em navegadores antigos.

 

aparece algo no canto esquerdo inferior da barra de status do seu IE ?

Vc possui mais javascripts nessa página ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<style type="text/css">
#cadastro {padding:10px; float:left; width:600px;font-size:12px;border:none 0 !important;}

.blocos {height:40px}

.titulos {font-weight: normal !important;width:120px; margin:15px 0; text-align:right; float:right}

.campos { margin:3px 0 0 5px; padding: 10px 0 5px 3px; width:200px}
.campos:hover {background:#fafafa; color:#333; border:solid 2px gold;}
.campos:focus {background: #fff; color:#000; border:solid 2px #F00;}

.descricao {font-weight: normal !important; float: left;}

.termos { float:left;font-weight: normal !important; margin:10px 0 10px 20px; padding:5px; text-align: justify; width:450px;font-size:12px}


.btn-grande { margin-left:20px; border:none;padding:14px;background-color:gold;color:#FFF; font-weight:bold}
.btn-grande:hover {background:#FFA71C; color:#000}

.alerta-erro {padding:4px;background-color:#F00;color:#FFF;margin:10px 0 5px 0;text-align:center}
.error {margin: 0 0 0 3px;color:#F00}

.carregando {position:absolute;left:50%;top:50%;margin-left:-110px;margin-top:-40px}

table, .blocos {border:none 0 !important; overflow:hidden !important}

</style>

<div id="cadastro">

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

<fieldset class="blocos">
<table border="0" cellspacing="0" cellpadding="0"><tr>
    <th width="100" align="right" scope="col"><label><div class="titulos"><strong>Nome</strong></div></label></th>
    <th align="center" scope="col"><div class="descricao"><input class="campos" type="text" placeholder="nome" id="nome"/> (seu e-mail)</div></th>
</tr></table></fieldset>
    
<fieldset class="blocos"><table border="0" cellspacing="0" cellpadding="0"><tr>
    <th width="100" align="right" scope="col"><label><div class="titulos"><strong>Sobrenome</strong></div></label></th>
    <th align="center" scope="col"><div class="descricao"><input class="campos" type="text" placeholder="sobrenome" id="snome"/> (seu sobrenome)</div></th>
    </tr></table></fieldset>
    
<fieldset class="blocos"><table border="0" cellspacing="0" cellpadding="0"><tr>
    <th width="100" align="right" scope="col"><label class="etiqueta-media"><div class="titulos"><strong>E-mail</strong></div></label></th>
    <th align="center" scope="col"><div class="descricao"><input class="campos" type="text" placeholder="email" id="email"/> (seu email)</div></th>
    </tr></table></fieldset>

<fieldset class="blocos"><table border="0" cellspacing="0" cellpadding="0"><tr>
    <th width="100" align="right" scope="col"><label class="etiqueta-media"><div class="titulos"><strong>Repetir e-mail</strong></div></label></th>
    <th align="center" scope="col"><div class="descricao"><input class="campos" type="text" placeholder="repetir e-mail" id="remail"/> (repetir e-mail)</div></th>
    </tr></table></fieldset>

<fieldset class="blocos"><table border="0" cellspacing="0" cellpadding="0"><tr>
    <th width="100" align="right" scope="col"><label class="etiqueta-media"><div class="titulos"><strong>Login/Site</strong></div></label></th>
    <th align="center" scope="col"><div class="descricao"><input class="campos" type="text" placeholder="login/site" id="login"/>.site.com.br</div></th>
    </tr></table><div class="alerta-erro" id="alerta-erro-login">O login já está sendo utilizado, por favor tente outro.</div></fieldset>

<fieldset class="blocos"><table border="0" cellspacing="0" cellpadding="0"><tr>
    <th width="100" align="right" scope="col"><label class="etiqueta-media"><div class="titulos"><strong>Senha</strong></div></label></th>
    <th align="center" scope="col"><div class="descricao"><input class="campos" type="password" placeholder="senha" id="senha"/> (sua senha)</div></th>
    </tr></table><div class="alerta-erro" id="alerta-erro-senha">A senha precisa possuir mais de 3 caracteres.</div></fieldset>



<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <th scope="col"><div class="termos">Ao cadastrar-me, declaro que sou maior de idade e aceito os Termos...</div></th>
  </tr>
</table>


<button id="btn-cadastrar" class="btn-grande" type="button"  onclick="validaCampos()">Cadastrar</button>

</form>
    


</div>
<p style="margin-top:500px;"></p>

<div class='clear'> </div>
</div>
<div class='clear'> </div>
</div><!-- #home -->

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript" src="js/validacoes.js"></script>
<script type="text/javascript" src="js/mascaras.js"></script>
<script type="text/javascript">
$(function(){
	$('#alerta-sucesso-formulario, #alerta-erro-login, #alerta-erro-senha').hide();
	$("#btn-cadastrar").on("click",function(){
		$('#alerta-sucesso-formulario, #alerta-erro-login').hide();
			if($('#senha').val().length < 3){
				$("#alerta-erro-senha").fadeIn('slow');
				return false;
			}
			else {
				$("#alerta-erro-senha").fadeOut('slow');
			var objDados = {
				nome  : $("#nome").val(),
		  snome  : $("#snome").val(),
				login : $("#login").val(),
				senha : $("#senha").val()
			}
			objDados = JSON.stringify(objDados);
			$.ajax({
				type: "post",
				data: {dados: objDados},
				url: "verificar.php",
				success: function(dados){
					if(dados === 'true'){
						$("#alerta-erro-login").fadeIn('slow');
						$("#alerta-sucesso-formulario").fadeOut('slow');
					}
					else {
						$("#alerta-sucesso-formulario").fadeIn('slow');
						$("#alerta-erro-login").fadeOut('slow');
						window.location = "Escritorio";
					}
				}
			})
			}
	})
})

</script>

<script type="text/javascript">
function validaCampos()
{
     if($('#login').val().length==0)
     {
	alert('O campo login esta em branco');
     }
     else
     {
	return true;
     }

     if($('#senha').val().length==0)
     {
	alert('O campo senha esta em branco');
     }
     else
     {
	return true;
     }
}
</script>

Olha eu tô colocando o código COMPLETO pra vc me ajudar...

 

 

não tem nenhum erro nesse código que impeça de funcionar em navegadores antigos.

 

aparece algo no canto esquerdo inferior da barra de status do seu IE ?

Vc possui mais javascripts nessa página ?

 

 

 

@William Bruno e tem um outro detalhe, quando eu tento cadastrar no banco de dados só salva os campos de nome, login e senha ou outros não salva de jeito nenhum...

 

Tá repreendida toda zica desse código! rssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca:

			var objDados = {
				nome  : $("#nome").val(),
		  snome  : $("#snome").val(),
				login : $("#login").val(),
				senha : $("#senha").val()
			}
			objDados = JSON.stringify(objDados);
por isso aqui:

var objDados = $('form').serialize();
ai vai enviar todos os campos.

lembrando q vc precisa declarar o atributo name nos teus inputs.

 

 

qual o problema com o ie ? oq acontece ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara (William Bruno) pq vc sendo uma pessoa tão importante assim como vc é (pelo que podemos constatar na net), dedica o seu precioso tempo pra ajudar esses novatos aqui do Fórum Imaters?

Já te informo o que acontece com o ie...

 

 

Esse código aí não funciona no IE.

 

<script type="text/javascript">function validaCampos(){     if($('#login').val().length==0)     {	alert('O campo login esta em branco');     }     else     {	return true;     }     if($('#senha').val().length==0)     {	alert('O campo senha esta em branco');     }     else     {	return true;     }}</script>

 

E eu só tô usando o código acima para forçar o usuario a preencher o campo login pq eu não consegui alterar esse código abaixo pra fazer isso.

<script type="text/javascript">$(function(){	$('#alerta-sucesso-formulario, #alerta-erro-login, #alerta-erro-senha').hide();	$("#btn-cadastrar").on("click",function(){		$('#alerta-sucesso-formulario, #alerta-erro-login').hide();			if($('#senha').val().length < 3){				$("#alerta-erro-senha").fadeIn('slow');				return false;			}			else {				$("#alerta-erro-senha").fadeOut('slow');			var objDados = {				nome  : $("#nome").val(),		               snome  : $("#snome").val(),				login : $("#login").val(),				senha : $("#senha").val()			}			objDados = JSON.stringify(objDados);			$.ajax({				type: "post",				data: {dados: objDados},				url: "verificar.php",				success: function(dados){					if(dados === 'true'){						$("#alerta-erro-login").fadeIn('slow');						$("#alerta-sucesso-formulario").fadeOut('slow');					}					else {						$("#alerta-sucesso-formulario").fadeIn('slow');						$("#alerta-erro-login").fadeOut('slow');						window.location = "Escritorio";					}				}			})			}	})})</script>

Se vc puder me ajudar a modificar ele eu te agradeço.

 

Ah, segue abaixo o código do arquivo verificar.php

<?php$dados = json_decode($_POST["dados"]);$nome  = filter_var($dados->nome, FILTER_SANITIZE_STRING);$snome  = filter_var($dados->snome, FILTER_SANITIZE_STRING);$login = filter_var($dados->login, FILTER_SANITIZE_STRING);$senha = filter_var($dados->senha, FILTER_SANITIZE_STRING);$conexao = mysql_connect("localhost", "usuario", "senha") or die("Não foi possível conectar: " . mysql_error());mysql_select_db("banco",$conexao);$query = mysql_query("SELECT login FROM usuarios WHERE login = '".$login."' "); $dados = mysql_fetch_array($query);$contador = count($dados['login']);if($contador == 1){	echo 'true';	exit();}else {	mysql_query("INSERT INTO usuarios (nome,sobrenome,login,senha) VALUES ('".$nome."','".$snome."','".$login."','".$senha."')");	mysql_close($conexao);	echo 'false';}?>

 

troca:

			var objDados = {				nome  : $("#nome").val(),		  snome  : $("#snome").val(),				login : $("#login").val(),				senha : $("#senha").val()			}			objDados = JSON.stringify(objDados);

por isso aqui:

var objDados = $('form').serialize();

ai vai enviar todos os campos.

lembrando q vc precisa declarar o atributo name nos teus inputs.

 

 

qual o problema com o ie ? oq acontece ?

 

 

 

			var objDados = $('form').serialize();

Eu mudei essa linha aee e declarei o atributo name nos inputs, mas agora ele salva todos os campos vazios na tabela do DB, pq?

 

 

Alguém mais aí pode ajudar... Senhores passageiros, eu podia tá matando, eu podia tá roubando, mas eu tô aqui, pedindo a sua colaboração... rssss

 

 

 

 

Cadê os heróis desse fórum pra me salvar aee!!! rsss

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.