Ir para conteúdo

POWERED BY:

Arquivado

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

mahpaulita

[Resolvido] Verifica se CPF e/ou Login já existe

Recommended Posts

Olá, estou fazendo um cadastro e preciso que seja verificado se já existe um igual, pois precisei usar a chave primária em outro campo... consegui fazer indo para outra página(envia_assineja.asp), mas queria que ele fizesse isso na mesma página(assineja.asp)...

Por exemplo, colocar um "verificar disponibilidade" na frente do campo!

Se alguém puder me ajudar! :)

 

assineja.asp
...<form action="envia_assineja.asp" method="post" name="formassineja" target="principal" id="formassineja" onSubmit="return validaformulario();" >
<input id="login" class="box" maxlength="15" size="24" name="login" onblur="convert();" /> ....


envia_assineja.asp
...
Dim login
login = Request.Form("login")
Sql = "Select * From tb_cad where login = '" & login & "'"
set Rs = Server.CreateObject("ADODB.RecordSet")
rs.ActiveConnection = conexao
Rs.Open Sql, Conexao, 3, 3
If Rs.RecordCount <> 0 Then
Response.Write ("<b><font color='#4A83B0' size='2' face='Tahoma'>Esse LOGIN já existe, escolha outro!</font></b><form id='continua' name='continua' method='post' action='assineja.asp'><p align='center'><input class='style81' value='Voltar' type='submit' name='submit' /></form>")
else
SQL = "INSERT INTO tb_cad ........

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim, verifique antes na cláusula SQL

 

exemplo:

 

<!–#include file=”conn/conexao1.asp”–>

<%

 call abreconexao

‘cria o recordset

Set rs=Server.CreateObject(“ADODB.Recordset”)

SQL=”SELECT * FROM login WHERE login=’”&varlogin&”‘”

rs.open SQL,conexao,1,3

                if rs.eof then

                   response.redirect(“logincli_form_treina.asp?msgeof=3″)

                else

                               if Lcase (varsenha) <> Lcase(rs(“senha”)) then

                                               response.redirect(“logincli_form_treina.asp?msgeof=4″)

                                               session(“logado”)=False

                               else

                                               session(“logado”)=True

                                               session(“senha”)=varsenha

                                               session(“login”)=varlogin

                                               response.Redirect(“administracao_treina.asp”)

                               end if

                end if

set rs=nothing

call fechaconexao%>

nesse caso verifica antes se ja é cadastrado antes de inserir no banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae mahpaulita a um tempo atras eu tava querendo cadastrar algo no banco sem refresh e achei o que vou te passar aqui não sei se te ajuda mais pode ser uma opção a mais.

Talvez você possa fazer assim:

 

Criar uma função javascript entre as tags <head></head> para passar os dados via get

formulario.asp

<script type="text/javascript">
function grava() {
    var head    = document.getElementsByTagName('head').item(0);

    var eScript    = document.createElement('script');

        area1 = document.getElementById('Nome').value;
	area2 = document.getElementById('Email').value;
	area3 = document.getElementById('CPF').value;
	
	
    eScript.setAttribute('type','text/javascript');
    eScript.setAttribute('src','cadastra.asp?Campo1='+area1+'&Campo2='+area2+'&Campo3='+area3);
    head.appendChild(eScript);
}
</script>

no seu formulario você não nescecita colocar

<form name="teste" method="post" action"nomedapagina.asp">
pois vamos passar os dados do formulario via Get com javascript

 

você pode colocar somente os campos de digitação:

<input type="text" name="Nome" id="Nome" />
perceba que a id no campo é a que vai ser identificada pela função javascript

 

no botão submit coloque onclick="grava()"

 

Na página cadastra.asp:

 

<%
Nome = request.Querystring("Campo1")
Email = request.Querystring("Campo2")
CpfDigitado = request.Querystring("Campo3")
%>

em baixo você da um select no banco e faz a comparação

 

<%SQL2 = "SELECT CPF FROM Usuarios WHERE CPF = '" & CpfDigitado & "'"
Set RSb2 = obj_conexao.Execute(SQL2)

'Se o CPF digitado existir no banco mostra uma mensagem
If not RSb2.Eof Then
response.write = "window.alert('Ops!, Este cpf já existe.')"
'senao
else
'em baixo é so gravar no banco%>

Os dados digitados no formulário são passados via get por javascript sem sair da página que você digitou.

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um SELECT no bd, antes de incluir, se caso já existir o login/CPF ( if not rsselect.eof then) , você redireciona ele para uma página, com a mensagem deja existir

 

<!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"
   rsselect.open SQLselect,conexao,1,3
   if not rsselect.eof then
           response.redirect("incluir_form_treina.asp?msgeof=1")
        set rsselect=nothing
   else    
           'crio o rsinsert para inseiri os dados no bd
            set rsinsert=server.createobject("ADODB.Recordset")
        'crio o SQLinsert pra incluir no bd
        SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"
        rsinsert.open SQLinsert,conexao,1,3
        response.redirect("administracao_treina.asp?msg=1")
        set rsinsert=nothing
    end if 
    call fechaconexao %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK map...

resolvido

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.