Criar contas ASP

luistojo

Suspenso
Boas, alguem sabe como criar contas de Login na base de dados atraves de ASP?

Eu ja tenho sistema de logins e tudo isso mas para criar contas nao :S

Alguem me pode dar uma maozinha?

Por Favor

na pagina onde tenho o botao para fazer o login e criar conta tenho o codigo, esta pagina tem o nome de clientes.asp:

<%
Content = "" 'Clear the Content string
QStr = Request.QueryString("login") 'Save the login querystring to QStr
if ucase(left(QStr,6))="CREATE" then
Title = "Registar"
else
Title = "Login"
end if


if QStr="passfailed" then
Content = Content & "<tr><td valign=top align=center><P>Password Errada</P><A href=Javascript:history.go(-1)>Voltar</A></td></tr>"
elseif QStr="createpassfailed" then
Content = Content & "<tr><td valign=top align=center><P>Password Errada</P><A href=Javascript:history.go(-1)>Voltar</A><BR><BR><A HREF=login.asp>Cancel registration</A></td></tr>"
elseif QStr="namefailed" then
Content = Content & "<tr><td valign=top align=center><P>Username Invalido</P><A HREF=clientes.asp?login=createnew>Carreque aqui para criar uma conta</A><BR><BR><A HREF=Javascript:history.go(-1)>Back</A></td></tr>"
elseif QStr="createnamefailed" then
Content = Content & "<tr><td valign=top align=center><P>Username Invalido</P><A HREF=Javascript:history.go(-1)>Back</A><BR><BR><A HREF=login.asp>Cancelar Registo</A></td></tr>"
elseif QStr="creatednew" then
Content = Content & "<tr><td valign=top align=center><P>Conta Criada com Sucesso</P><A HREF=clientes.asp>Login</A></td></tr>"
elseif QStr="createnew" then
Content = Content & "<form name=frmCreate method=POST action=create.asp>"
Content = Content & "<tr><td valign=top align=center><br>Username: <input type=text name=txtUsername></td></tr>"
Content = Content & "<tr><td valign=top align=center>Password: <input type=password name=txtPassword></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Nome: <input type=text name=txtFullname></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Morada: <input type=text name=txtmorada></td></tr>"
Content = Content & "<tr><td valign=top align=center><input type=submit name=cmdSubmit value=Register></td></tr>"
Content = Content & "<tr><td valign=top align=center><a href=clientes.asp><input type=submit name=cancelar value=Cancelar></a></td></tr>"
Content = Content & "</form>"
else
Content = Content & "<form name=frmMain method=POST action=verify.asp>"
Content = Content & "<tr><td valign=top align=center><br>Username: <input type=text name=txtUsername></td></tr>"
Content = Content & "<tr><td valign=top align=center>Password: <input type=password name=txtPassword></td></tr>"
Content = Content & "<tr><td valign=top align=center><input type=submit name=cmdSubmit value=Login></td></tr>"
Content = Content & "</form>"
Content = Content & "<tr><td valign=top align=center><A HREF=clientes.asp?login=createnew>Carregue aqui para criar uma conta</A></td></tr>"
end if
%>

<form name=frmMain method=POST action=verify.asp> <p>Username:
<input name=txtUsername type=text />
</p>
<p><span class="style11">Password:&nbsp;
<input name=txtPassword type=password />
<input type=submit name=cmdSubmit value=Login />
<A HREF=criar.asp>Criar conta</A>
</span> </p>
</form>

Ao carregar no botao criar vai para a pagina criar.asp que tem o seguinte codigo:

<%
Content = "" 'Clear the Content string
QStr = Request.QueryString("login") 'Save the login querystring to QStr
if ucase(left(QStr,6))="CREATE" then
Title = "Registar"
else
Title = "Login"
end if


Content = Content & "<form name=frmCreate method=POST action=create.asp>"
Content = Content & "<tr><td valign=top align=center><br>Username:<br> <input type=text name=txtUsername></td></tr>"
Content = Content & "<tr><td valign=top align=center>Password:<br><input type=password name=txtPassword></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Nome:<br><input type=text name=txtFullname></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Sexo:<br> <input type=text name=txtsexo></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Data de Nascimento:<br> <input type=text name=txtdatanasc></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Bilhete de Identidade:<br> <input type=text name=txtbi></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Telefone:<br> <input type=text name=txttel></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Morada:<br> <input type=text name=txtmorada></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Código Postal:<br><input type=text name=txtcp></td></tr>"
Content = Content & "<tr><td valign=top align=center><br>Localidade:<br> <input type=text name=txtlocalidade></td></tr>"
Content = Content & "<tr><td valign=top align=center><input type=submit name=cmdSubmit value=Register></td></tr>"
Content = Content & "<tr><td valign=top align=center><a href=clientes.asp><input type=submit name=cancelar value=Cancelar></a></td></tr>"
Content = Content & "</form>"
%>

<table border="2" cellspacing="5" width="250px">


<%
Response.Write("<tr><td valign=top align=center><b>" & Title & "</b></td></tr>")
Response.Write(Content) ' Paste the contents in the table
%>

</table>

Depois a pagina create.asp tem o codigo:

<%
'Save entered username and password
Username = Request.Form("txtUsername")
Password = Request.Form("txtPassword")
Fullname = Request.Form("txtFullname")
Sexo = Request.Form("txtsexo")
datanascimento = Request.Form("txtdatanasc")
bi = Request.Form("txtbi")
telefone =Request.Form("txttel")
morada = Request.Form("txtmorada")
CP = Request.Form("txtcp")
Localidade = Request.Form("txtlocalidade")

'Check if username and password are entered
if Username = "" then Response.redirect("clientes.asp?login=createnamefailed")
if Password = "" then Response.Redirect("clientes.asp?login=createpassfailed")

'Build connection
set conn = server.CreateObject ("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("Blockbuster.mdb")
set rs = server.CreateObject ("ADODB.Recordset")
'Open all records
rs.Open "SELECT * FROM Consulta_Login", conn, 4, 4
'Check if username doesn't already exist
do while not rs.EOF
if rs("username")= Username then
set rs=nothing
set conn=nothing
response.Redirect("clientes.asp?login=createnamefailed")
end if
rs.MoveNext
loop

'Add a record
rs.AddNew
'Put username and password in record
rs("username")=Username
rs("password")=Password
rs("Fullname")=Nome
rs("Sexo")=Sexo
rs("datanascimento")=Data_Nascimento
rs("bi")=BI
rs("telefone")=Telefone
rs("morada")=Morada
rs("CP")=CP
rs("Localidade")=Localidade


'Save record
rs.save
rs.Update

set rs=nothing
set conn=nothing
Response.Redirect("clientes.asp?login=creatednew")
%>

Quando insiro os dados e carrego no botao registar ele da erro:

"Tipo de erro:
ADODB.Recordset (0x800A0BB9)
Os argumentos são de tipo incorrecto, estão fora do intervalo aceitável ou estão em conflito uns com os outros.
/MyWeb/create.asp, linha 23"

sendo a linha 23:

rs.Open "SELECT * FROM Consulta_Login", conn, 4, 4
 
Última edição:
Back
Topo