Ir para conteúdo

Arquivado

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

Carcleo

[Resolvido] php validar campo ao sair

Recommended Posts

Pessoal.

 

Tem como validar campo ao sair usando php?

 

É o seguinte.

Um form de cadastro de login e senha em um site.

 

O cara vai e digita o login que ele quer. qualdo ele sair do campo login e for pro campo senha, nesse momento o php vai no banco e ve se aquele login esta disponível e informa. Caso o login ja esteja sendo usado por outro o script não continua.

 

Como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

somente com php não é possível

 

terá que usar ajax

http://www.wbruno.com.br/scripts/verificar-usuario-banco.php

 

se você quiser 'ao sair do campo', basta disparar no evento onblur()

(procure por 'William' por exemplo)

 

exemplo com jQuery

http://www.wbruno.com.br/blog/?p=3

Compartilhar este post


Link para o post
Compartilhar em outros sites

To usando com jquery

ta dando segunte erro na jquery

Detalhes dos erros da página da Web

Agente de Usuário: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB6.5; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)
Carimbo de data/hora: Sat, 14 Aug 2010 00:01:38 UTC


Mensagem: '{' esperado
Linha: 68
Caractere: 11
Código: 0
URI: http://localhost/php/carcleo.com/sistema/controle/paginas_controle/Cadastro_Fornecedores.php

meu codigo

<?php 
include("../global/sessoes.php"); 
header('Content-Type: text/html; charset=utf-8'); 
include("../../global/conexao.php");  
$MySQL = new TMySQL();
$MySQL->connect($host, $db, $user, $pass);
include("../global/test_login.php"); 
?>
<html>
<head>
<title><?php echo $title; ?></title>
<link href="../../global/stilo.css" rel="stylesheet" type="text/css"> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script language="JavaScript" src="../global/Autentica_Fornecedores.js"></script>
<script language="JavaScript" src="../global/buscacidade.js"></script>
<script language="JavaScript" src="../global/mascaras.js"></script>
<script language="JavaScript" src="../../global/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
        $(function(){ // declaro o início do jquery
                $("input[name='verificar']").click( function(){//botão para disparar a ação

                        var nomeUsuario = $("input[name='nomeUsuario']").val();
                        //alert(nomeUsuario);

                        $.post('usuario.php',{nomeUsuario: usuario},function(data){
                                $('#resultado').html(data);//onde vou escrever o resultado
                        });
                });
        });// fim do jquery
</script>
</head>

<table width="1000"  border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td colspan="2"><? include("../global/topo.php"); ?></td>
  </tr>
  <tr valign="top">
    <td width="15%"><?php include("../global/menu.php"); ?></td>
    <td width="85%" align="center" bgcolor="#FFFFFF"><?php include("Cadastro_Fornecedores_Conteudo.php"); ?></td>
  </tr>
  <tr>
    <td colspan="2"><?php include("../global/base.php"); ?></td>
  </tr>
</table>

</body>
</html>

Onde estou errando?

Obs.: o campo do meu formulario é usuario e não nomeUsuario.

O form

<form name="form" enctype="multipart/form-data" method="POST" action="?acao=cadastra"  id="form"><P>
<table width="90%"  border="0" cellspacing="0" cellpadding="0">
  <tr><td align="center" colspan="2"> <H2>Cadastro de Fornecedores </H2></td></tr>
  <tr>
    <td width="150">Usuário:</td>
    <td            ><input type="text" name="usuario" value="" size=12 maxlength=6 onblur="javascript:function();"> <div id="resultado"></div>
    Obs.: Usuário e senha são, com no maximo, 6 dígitos</td>
  </tr>
  <tr>
    <td width="150">Senha:</td>
    <td            ><input type="text" name="senha"  value="" size=12 maxlength=6></td>
  </tr>  
  <tr>
    <td width="150">Nome:</td>
    <td            ><INPUT TYPE="text" NAME="nome" VALUE="" SIZE=60 MAXLENGTH=60></td>
  </tr>
   <tr>
    <td width="150">Responsável:</td>
    <td            ><INPUT TYPE="text" NAME="responsavel" VALUE="" SIZE=60 MAXLENGTH=60></td>
  </tr>
  <tr>
    <td width="150">Cpf:</td>
    <td            ><INPUT TYPE="text" NAME="cpf" onkeypress="mascaratudo(event,this,'###.###.###-##');BloqueiaLetras();"   VALUE="" SIZE=14 MAXLENGTH=14></td>
  </tr>
  <tr>
    <td width="150">Endereço:</td>
    <td            ><INPUT TYPE="text" NAME="endereco" VALUE="" SIZE=60 MAXLENGTH=60></td>
  </tr>
  <tr>
    <td width="150">Número:</td>
    <td            ><INPUT TYPE="text" NAME="numero" VALUE="" SIZE=14 MAXLENGTH=14></td>
  </tr>
  <tr>
    <td width="150">Bairro:</td>
    <td            ><INPUT TYPE="text" NAME="bairro" VALUE="" SIZE=60 MAXLENGTH=60></td>
  </tr>
  <tr>
    <td width="150">Estado:</td>
    <td            >
	<select name="estado" onChange="DadosCidade(this.value);"  size="1" style="width:200px">
      <option value="#" selected>Selecione o Estado:</option>
      <option value="AC">AC</option>
      <option value="AL">AL</option>
      <option value="AM">AM</option>
      <option value="AP">AP</option>
      <option value="BA">BA</option>
      <option value="CE">CE</option>
      <option value="DF">DF</option>
      <option value="ES">ES</option>
      <option value="GO">GO</option>
      <option value="MA">MA</option>
      <option value="MG">MG</option>
      <option value="MS">MS</option>
      <option value="MT">MT</option>
      <option value="PA">PA</option>
      <option value="PB">PB</option>
      <option value="PE">PE</option>
      <option value="PI">PI</option>
      <option value="PR">PR</option>
      <option value="RJ">RJ</option>
      <option value="RN">RN</option>
      <option value="RO">RO</option>
      <option value="RR">RR</option>
      <option value="RS">RS</option>
      <option value="SC">SC</option>
      <option value="SE">SE</option>
      <option value="SP">SP</option>
      <option value="TO">TO</option>
    </select></td>
  </tr>
  <tr>
    <td width="150">Cidade:</td>
    <td            >
	<select name="cidade"  id="cidade" size="1" style="width:200px">
        <option id="opcoescidade" value="#">Primeiro selecione o estado!</option>
    </select>
	</td>
  </tr>
  <tr>
    <td width="150">Telefone:</td>
    <td            ><input type="text" name="tel"  onkeypress="mascaratudo(event,this,'## ####-####');BloqueiaLetras();"   value="" size=12 maxlength=12></td>
  </tr>
  <tr>
    <td width="150">Celular:</td>
    <td            ><input type="text" name="cel"  onkeypress="mascaratudo(event,this,'## ####-####');BloqueiaLetras();"   value="" size=12 maxlength=12></td>
  </tr>
  <tr>
    <td colspan="2" align="center">
	<input type="button" value="Cadastrar" onClick="CriticaFormulario()">
    <input type="reset"  value="Limpar Campos"> </td>
  </tr>
</table>
</FORM>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é a linha 68 ?

 

se você descomentar o alert ali, aparece o valor certo?

alert(nomeUsuario);

se o name do teu campo, é diferente.. então altere!!!

e retire o onblur lá do meio do html

onblur="javascript:function();"

Compartilhar este post


Link para o post
Compartilhar em outros sites

NÃO

A NFUNÇÃO NÃO ESTA SENDO DISPARADA

 

como ficaria essa funçao alterada para o campo usuario?

É assim mesmo?

<script language="JavaScript" src="../../global/jquery-1.3.2.js"></script>
<script type="text/javascript">
        $(function(){ // declaro o início do jquery
                $("input[name='verificar']").click( function(){//botão para disparar a ação

                        var nomeUsuario = $("input[name='nomeUsuario']").val();
                        alert(nomeUsuario);

                        $.post('../../global/usuarios.php',{nomeUsuario: usuario},function(data){
                                $('#resultado').html(data);//onde vou escrever o resultado
                        });
                });
        });// fim do jquery
</script>

Outra coisa:

Gostaria de fazer isso ao deixar o campo e não ao clikar no botaão enviar.

Tem jeito?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só fazer oq eu disse:

$(document).ready(function(){ // declaro o início do jquery
                alert( 'jQuery iniciado' );
                $("input[name='nome']").blur( function(){//botão para disparar a ação

                        var nomeUsuario = $( this ).val();
                        alert(nomeUsuario);
diga oq aparece dos alerts

 

se o primeiro alert 'jQuery iniciado' não aparecer é pq você fez algo errado no caminho até o arquivo da lib

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.