Ir para conteúdo

POWERED BY:

Arquivado

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

visual_online

Cadastro que gera uma senha nova que não tenha sido

Recommended Posts

Olá, é o seguinte: a minha idéia é disponibilizar um formulário onde os fulanos possam se cadastrar e nesse formulario ser gerado um número para o fulano concorrer a um premio mais tarde, mas a questão é que esse número não tenha sido disponibilizado a outro usuario anteriormente, sabe, que seja feita uma varredura num BD ACCESS pra certificar que ainda não foi cadastrado. Para gerar o número, coloquei uma função utilizando randon e ela gera normalmente o número que deve ser entre 1 e 4.000, mas tá faltando verificar no banco... então me ajudem nisso, por favor...

 

 

<form action="from_form.asp" Method="Post">
		<table width="350" border="0" cellpadding="0" cellspacing="0" align="center">
		  <!--DWLayoutTable-->
		  <tr> 
			<td width="281" height="199" valign="top" bgcolor=""> <table border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#FFCC00">
				<!--DWLayoutTable-->
				<tr> 
				  <td width="332" height="28" align="center" valign="top" bgcolor=""><font face="Verdana" size="4"><b>Sistema 
					de Cadastro</b></font></td>
				</tr>
				<tr> 
				  <td height="168" align="center" valign="top" bgcolor=""><p><font size="1" face="Verdana">Insira 
					  aqui seu úmero para sorteio</font><font face="Verdana" size="1" color="">:<br>
					  <input type="text" name="Email" size="15" maxlength="255" style="color : #000000; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;">
					  <br>



					  <%
Dim menor, maior, sorteado
RANDOMIZE
menor = 1
maior = 3998
sorteado = Int((maior-menor+1)*Rnd+menor)

response.write (sorteado)

%>




					  </font></p>
					<p><font face="Verdana" size="1">Nome Completo</font><font face="Verdana" size="1" color="">:<br>
					  <input type="text" name="Name_First" size="55" maxlength="255" style="color : #000000; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;">
					  <br>
					  </font><font face="Verdana" size="1">CPF</font><font face="Verdana" size="1" color="">:<br>
					  <input type="text" name="Name_Last" size="55" maxlength="255" style="color : #000000; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;">
					  <br>
					  <input type="radio" name="Join_Quit" value="Join" checked>
					  </font><font face="Verdana" size="1">Inscrever</font><font face="Verdana" size="1" color=""><br>
					  <br>
					  <input type="submit" size="20" value="Enviar" style="color: #000000; background-color: #EEEEEE; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;">
					  </font></p></td>
				</tr>
			  </table></td>
		  </tr>
		</table>
	  </form>

A minha conexão é:

<%
dim dsn
dim Conn
dsn="DBQ=" & Server.Mappath("o12mail.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open dsn
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cada usuário possui um código (que é a chave primária), correto? Por que não utilizar essa código para o sorteio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente daria certo, mas esqueci de dizer que o sorteio será no mundo real... após o cadastro no site e receber o número que estará entre 1 e 4.000 como citei antes, o fulano irá até um ponto de venda e comprará uma cartela de acordo com o número cadastrado no site, entende? no formulário no ato do cadastro esse número tem que aparecer para que o comprador possa anotar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, o random exibe o número aleatorio, mas como faço pra que ele exiba um número que ainda não tenha sido cadastrado no bd? .... essa é a questão que não sei como resolver... se quiserem postar um exemplo ai, baseado no codigo que postei acima...

 

pq quando se acessa o form, o form vem em branco no ponto de ser preenchido, mas o número gerado pelo random já aparece no topo pra ser inserido no campo....

 

no ato do cadastro eu poderia até fazer uma verificação pra ver se o numero já consta, mas imaginem num banco com 3500 registros, qual a possibilidade de alguém inserir um número que dê certo pra ser cadastrado... então o ideal é que o random apresente o número pronto pro cadastro, após a varredura no banco em busca de duplicidade...

 

espero que tenham entendido...

 

fico no aguardo ai... :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Boa tarde.

 

Se usar os atributos, data e horas lhe interessar, veja o artigo http://forum.imasters.com.br/index.php?showtopic=289253, de minha autoria, eu uso assim num sistema de gerenciamento de membros de um cliente, e tb de uma rádio que realiza soreteios on-line para ouvintes cadastrados. Pore exemplo: o cara que se cadastra no dia 20/06/2008 às 15:35:27 ficará com o seguinte código: 20062008153527 se você acrescentar o id do cara entaão teremos 20062008153527ID

 

 

Att

Cido SIlva

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Cido... a questão é que na gráfica vamos fazer alguns blocos de senha com numeração de 1 até 4.000 entede? O cara cadastra no site, recebe algum número entre 1 e 4.000 e vai até o ponto de atendimento comprar a cartela com este número... a idéia é vender $$$$ as senhas nos pontos e vender a imagem do site...

 

por isso que a sequencia numerica tem que ser essa... é pq já mandamos a grafica providenciar isso...

 

Estou aberto a mais ajuda http://forum.imasters.com.br/public/style_emoticons/default/cry.gif de alguém que souber como fazer isso...

 

ajuda ai cido... você é fera... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom cara,

 

Se o lançe são numeros sequenciais, o mais simples mesmo será você trabalhar com o ID de cada um, a chave primária, o campo numérico sequencial de cada cadastro.

 

O cara se cadastra, na hora de mostrar os dados do cadastro, você imprme na tela o numero do ID dele, sem sorteio nem nada. Desta forma você não repetirá nenhum número.

 

Att,

Cido Silva

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe ta f*** aqui apertei tab mando tudo errado e imendo algumas linhas hehe ai vai mais organizado só o asp

 

<%Dim menor, maior, sorteadoRANDOMIZE 
menor = 1
maior = 3998
sorteado = Int((maior-menor+1)*Rnd+menor)

Set objRS = Server.CreateObject("ADODB.Recordset")
Dim Query Query = "Select * FROM TB_USUARIOS WHERE NUMERO_SORTEIO = "& sorteado 
objRS.Open Query, Conn

If Not objRS.EOF And Not objRS.BOF Then		 
	 objRS.MoveFirst		 
	 usuarioexistente = "sim"
Else   
 ai aqui você da o insert
End if%>

ai la embaixo você da um if pra inserir uma linha na tabela

 

<%if usuarioexistente = "sim" then%>		  
	 <tr>		 
		 <td>Este numero ja possui um cadastro no sistema. </td>	 
	 </tr>
<%end if%>

acho que agora organizei mais, é isso que você quer abço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá CIDO e RESTOFLES, vou dar uma analisada no que vcs me enviaram e testar e depois posto aqui o resultado que deu.... mas desde já agradeço demais a ajuda e cordialidade de vcs. abraço..

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.