login question

J

John Davis

I put a little login (username and password textfields) in a web page, and
once the user able to login, I want the username and password textfields
will disappear, and replace with text "[UserName] has Login!]" in the same
position.

My question is how to make the username and password textfields disappear
and replace with "[UserName] has Login!]" in the same position?
This is the code I have done so far, but it has another problem: Even I
first check if the length of username field is non-zero first, it still
displays "Login Failed" before the user login. I guess it's the session
problem but don't know how to fix it.

<html>
<head>
<title>Login Form</title>
</head>
<body>
<form action="login.asp" method="post">
<table border="0">
<tr>
<td>User ID</td>
<td><input type="text" name="username"></td>
</tr>

<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
</table>
<input type="submit" value="submit">
<input type="reset" value="reset">
</form>


<!-- #include file="dbConn.asp"-->
<!-- METADATA TYPE="typelib"
FILE="C:\Program Files\Common
Files\System\ado\msado15.dll" -->


<%
If Len(Request.Form("username")) <> 0 Then
Dim strusername, strpassword, sqlStmt, objRS
strusername = Request.Form("username")
strpassword = Request.Form("password")
sqlStmt = "select * from [Password] where UserName = '" & strusername &
"'" & _
" And Password = " & "'" & strpassword & "'" & ";"
Set objRS = Server.CreateObject("ADODB.RecordSet")
objRS.Open sqlStmt, strConnect ', adOpenStatic, adLockReadOnly,
adCmdTable
If objRS.EOF Then
Response.Write "Login Failed"
Else
Response.Write "Login Success: " & _
"UserName = " & strusername & "," & _
"Password = " & strpassword
End If
End If
%>
</body>
</html>


please advise! thanks!
john
 
P

PB4FUN

Works fine here, only the text you want is not there.
You Have this :
Response.Write "Login Success: " & _
"UserName = " & strusername & "," & _
"Password = " & strpassword
Seems you want to have this :
Response.Write strUsername & " has login."
Furthermore, you check the request.Form twice.
Try this :
strUsername = Trim(Request("Username"))
If strUsername = "" Then
'user did not fill in anything
else
'User did fill in something
end if

If you only check if the user has an account, so if there is a record
containing the un and pw,
try another query.
Select Count(Username) From [Password] ..... etc.
Now you allways have a record.
If the user is in the db you will have objRS.Fields(0) = 1
else objRS.Fields(0) will be 0
Instead of adOpenStatic you can use adForwardOnly, is faster, and do not use
the adCmdTable after it.

Meindert, MCP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top