Ir para conteúdo

POWERED BY:

Arquivado

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

Tom Ferreira

Formulário PHP Mysql Jquery Validação Atenção: 50,00 pra quem resolver

Recommended Posts

Olá pessoal eu pago R$ 50,00 (a titulo de incentivo em depósito na sua conta ou pelo Pagseguro) pra quem resolver essa parada, mas tem que ser aqui mesmo pelo fórum pq eu quero que todos vejam que é possível sim resolver esse problema de modo fácil e rápido.

 

Eu preciso do seguinte:

1º - validar o LOGIN do usuário no BD para ver se já existe e caso já exista apresente uma mensagem de que o login desejado já está em uso.

2º - caso o usuário tente cadastra sem preencher o login e a senha informar ao usuário que o campo login e a senha precisa ser preenchido (ou não pode ficar em branco).

3º - As validações precisam funcionar no IE7 em diante.

4º - Os avisos devem ficar parecidos com os do form de cadastro do ML: https://registration.mercadolivre.com.br/registration/

 

 

Para facilitar: aqui tá o arquivo do form.php

 

<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" name="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" name="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" name="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" name="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" id="login" name="login"/></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" name="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 e Condições Gerais.</div></th>
  </tr>
</table>


<button id="btn-cadastrar" class="btn-grande" type="button">Cadastrar</button>

</form>
    
            <div id="alerta-sucesso-formulario">Cadastro efetuado com sucesso.</div>


</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="http://vcx.com.br/form/js/json.js"></script>
<script type="text/javascript" src="http://vcx.com.br/form/js/validacoes.js"></script>
<script type="text/javascript" src="http://vcx.com.br/form/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 = $('form').serialize();
            $.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>


 

aqui tá o arquivo do verificar.php

 

<?php

$dados = json_decode($_POST["dados"]);

$nome  = filter_var($dados->nome, FILTER_SANITIZE_STRING);
$snome  = filter_var($dados->snome, FILTER_SANITIZE_STRING);
$email  = filter_var($dados->email, FILTER_SANITIZE_STRING);
$remail  = filter_var($dados->remail, FILTER_SANITIZE_STRING);
$login = filter_var($dados->login, FILTER_SANITIZE_STRING);
$senha = filter_var($dados->senha, FILTER_SANITIZE_STRING);

$conexao = mysql_connect("localhost", "user", "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,email,remail,login,senha) VALUES ('".$nome."','".$snome."','".$email."','".$remail."','".$login."','".$senha."')");
	mysql_close($conexao);
	echo 'false';
}
?>

 

Qualquer dúvida é só avisar que eu tô on pra ajudar.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

// Inialize session
session_start();

// Check, if username session is NOT set then this page will jump to login page
if (!isset($_SESSION['username'])) {
header('Location: index.php');
}

?>
<html>

<head>
<title>Secured Page</title>
</head>

<body>

<p>This is secured page with session: <b><?php echo $_SESSION['username']; ?></b>
<br>You can put your restricted information here.</p>
<p><a href="logout.php">Logout</a></p>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

// Inialize session

session_start();

 

// Check, if username session is NOT set then this page will jump to login page

if (!isset($_SESSION['username'])) {

header('Location: index.php');

}

 

?>

<html>

 

<head>

<title>Secured Page</title>

</head>

 

<body>

 

<p>This is secured page with session: <b><?php echo $_SESSION['username']; ?></b>

<br>You can put your restricted information here.</p>

<p><a href="logout.php">Logout</a></p>

 

</body>

 

</html>

 

Mais este é um formulário de CADASTRO e não de login, entendeu?

Esse é o form onde o usuário se cadastra e nele verifica se o login já existe no DB ou não, se já existir avisa, senão cadastra, entendeu? senão dá uma olhadinha no arquivo: veificar.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc só quer verificar se um nome de usuário já existe no banco de dados e se caso exista emitir mensagem de erro ao usuário?

 

No meu sistema utilizo algo assim:

 

 

 

 

// Verifico se o cpf informado já existe no banco de dados
$busca_login = mysql_query("SELECT login FROM tb_cliente WHERE login = '$login'");
// Verifico se foi encontrado o login, caso não entra nessa condição
if (mysql_num_rows($busca_login) == 0) {
// Grava tudo
} else {
// Mensagem de erro
}
Qualquer coisa grita...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Vc só quer verificar se um nome de usuário já existe no banco de dados e se caso exista emitir mensagem de erro ao usuário?

 

No meu sistema utilizo algo assim:

 

 

 

Qualquer coisa grita...

@juniorbezerra valew pela resposta mas se vc der uma olhadinha no arquivo verifica.php ele já faz isso...

O problema é que esse forma ai que ele salva os campos em BRANCO no BD...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc testou se todas as suas variáveis estão recebendo valores vindo do form? Após a busca se existe o login a variavel contem algum valor? Pode ser erro no seu Insert.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa e ai já foi resolvido o problema.

Se não foi eu faço assim que aprovado você me paga beleza.

 

Att.,

@Rodrigo Vieira E da Silva

Olha ainda NÃO foi resolvido nada não.

Eu pago sim na hora que resolver, só precisa que a solução seja posta aqui mesmo no fórum tá?

 

 

será que nenhum dos profissionais aqui do fórum imasters será capaz de resolver, de modo prático, isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

será que nenhum dos profissionais aqui do fórum imasters será capaz de resolver, de modo prático, isso?

 

Cara sabe qual é o verdadeiro problema, é chegar no fórum onde as pessoas ajudam de boa vontade sem cobrar nada de ninguém, porque somos todos voluntários.

 

Resumindo!

Chegar oferecendo recompensa por um problema que é simples, mas ao qual você não conseguiu resolver, somente afastam os que realmente ajudam aqui no fórum, digo por que a maioria não está nem ai para os seus R$ 50,00, muito cuidado ao colocar valores em post no fórum de PHP, o correto é postar lá no fórum de freelancers, lá os caras cobram e pode ter certeza que tem um contrato antes. <_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que vi, você tem o codigo todo, qual parte dele não funciona?

@Thadeu Esteves obrigado pela ajuda, eu acho que tem um erro nessa parte:

 

<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 = $('form').serialize();
            $.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>

 

mais especificamente aqui:

 

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

que antes era assim:

 

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

que eu mudei acatando a sugestão do @William Bruno como pode ser visto aqui:

 

o que antes recebia apenas os dados do nome, login e senha; agora não recebe ou não salva mais nada no DB.

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara sabe qual é o verdadeiro problema, é chegar no fórum onde as pessoas ajudam de boa vontade sem cobrar nada de ninguém, porque somos todos voluntários.

 

Resumindo!

Chegar oferecendo recompensa por um problema que é simples, mas ao qual você não conseguiu resolver, somente afastam os que realmente ajudam aqui no fórum, digo por que a maioria não está nem ai para os seus R$ 50,00, muito cuidado ao colocar valores em post no fórum de PHP, o correto é postar lá no fórum de freelancers, lá os caras cobram e pode ter certeza que tem um contrato antes. <_<

 

tá bom, vou seguir seu conselho @WDuarte.

 

Pessoal, agora esse post tá SEM A RECOMPENSA DE R$ 50,00! não esqueçam!

OBS: caso a pessoa que resolva faça questão da recompensa, é só me mandar uma MP que eu deposito pra vc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse post já teve 21 respostas e mais de 170 visualizações e eu vou te garantir uma coisa aqui você NÃO vai conseguir ajuda... Esses caras só fazer isso por grana e só ajudam os seus próprios amigos e ninguém mais, o máximo que vc pode conseguir aqui é umas dicas de como aprender a fazer isso e nada mais!

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.