Hi, guys. How are you?
Well, here is senario. I made login system using ASP and MS Access. Now user can register their own username and password. But now a problem occoured. Username has to be never same, isn't it? Now I am trying to make message, which will be shown when user chose existing username.
Here is my code:
code:
<html>
<head>
<title>Register</title>
</head>
<body>
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.mappath("database.mdb"))
If Request("action") = "Register" Then
Add_Record
End If
Sub Add_Record()
on error resume next
For each x in rs.Fields
If x.value = Request.Form("field1") Then
Response.Write("Sorry, already taken")
End IF
Next
username = Request.Form("field1")
password = Request.Form("field2")
sql = "INSERT INTO login(field1, field2) VALUES "
sql = sql & "('" & username & "','" & password & "')"
conn.Execute sql, recordsaffected
If err <> 0 Then
Response.Write(err.Description)
else
Response.Write("<html><script>window.opener.do_Refresh();window.close();</script></html>")
Response.End
End If
End Sub
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM login", conn
%>
<h2>Register here</h2>
<form method="post" action="register.asp">
<table>
<%For each x in rs.Fields
If x.name <> "ID" Then %>
<tr>
<td><%=x.name%></td>
<td><input name="<%=x.name%>" value="N/A" size="20"></td>
<%
End If
Next
rs.Close
conn.close
%>
</table>
<br />
<input type="submit" name="action" value="Register">
</form>
</body>
</html>
I thought:
1. I have to compare user input and existing username in database.
2. make For Next loop before sql statement ( actually adding new data) Like:
code:
For each x in rs.Fields
If x.value = Request.Form("field1") Then
Response.Write("Sorry, already taken")
End IF
Next
This will check if it is existing username or not.
3.Should work.
But when I run the programe, the message, Sorry, already taken always pops up. Then never go back to my index page. When user succeed regisgering, it has to take them back to index.asp.
Hmmm......please help.
Hiroki Kozai