webForumDet fria alternativet

fel login = sidan kunde inte visas :(

ASP

10 svar · 279 visningar · startad av Tipx

Medlem sedan nov. 200139 inlägg
Frågan#1

hej igen, har ett till problem...
När man ska logga in funkar det om man har rätt anv.namn + lösen, men om men skriver nåt som finns i databasen så kommer en "Sidan kunde inte visas"...

Feltyp:
(0x80020009)
Undantag inträffade.
/sida/go.asp, line 1351

Hurska jag göra för att det ska komma en "You gotta be a member to login..." alternativt en ruta som kommer upp och säger att det e fel användarnamn / lösen..

såhär ser koden ut:

<% if request.querystring("menu") = "login2" then
Show = "SELECT * FROM users Where Username='" & Request.Form("field1") & "'"
rs.Open Show, Connect, adOpenStatic, adLockOptimistic
            
if rs("Username") = request.form("field1") AND rs("Password") = request.form("field2") then
Session("Username") = rs("Username")
		
rs.Close
Response.Redirect "go.asp?admin=admin"
Session.Timeout=30
else %>

You gotta be a member to login...

<% end if 
end if %>
Medlem sedan feb. 20022 594 inlägg
#2

Prova:

<% If Request.Querystring("menu") = "login2" Then
strShow = "SELECT * FROM users Where Username='" & Request.Form("field1") & "' AND Password = '"& Request.form("field2") &"'"
Set objRS = Connect.Execute(strShow)
            
If objRS.EOF Then
Response.Write "You gotta be a member to login..."
Else
Session("Username") = rs("Username")
objRS.Close
Set objRS = Nothing
Response.Redirect "go.asp?admin=admin"
Session.Timeout=30
End if
End if
%>
Medlem sedan dec. 200012 464 inlägg
#3
<% 
if request.querystring("menu") = "login2" then
Show = "SELECT 1 FROM users Where Username='" & _
Request.Form("field1") & _
"' and [password]='"& request.form("field2") &"'"
set rs = connect.execute(show)
if not rs.eof then
   Session("Username") = rs("Username")
else
   session("username") = ""
end if	
rs.Close
connect.close
if  session("username") <> "" then
Session.Timeout=30
Response.Redirect "go.asp?admin=admin"
else %>

You gotta be a member to login...

<% end if 
end if %>
Medlem sedan nov. 200139 inlägg
#4

LarsG: det funkar nu att man får felmeddelande om man har fel namn/lösen... fast när man har rätt namn/lösen kommer felsidan upp :P

Feltyp:
ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/arca/go.asp, line 1354

Medlem sedan juni 200032 967 inlägg
#5

Då försöker du anropa ett fält som inte finns i recordsetet. Kontrollera vilket / vilka fält du använder dig av på rad 1354.

Mvh,

Medlem sedan dec. 200012 464 inlägg
#6

Jaja, vad tänker jag med.

Byt

Session("Username") = rs("Username")

till

Session("Username") = Request.Form("field1")
Medlem sedan nov. 200139 inlägg
#7

ok nu funkar det!
men jag vill slänga in detta nånstans oxo... frågan e vart?
när man loggat in ska den kolla av vilken "åtkomst" man har på sidan...

såhär ser den ut nu:

                <% 
if request.querystring("menu") = "login2" then
Show = "SELECT 1 FROM users Where Username='" & _
Request.Form("field1") & _
"' and [password]='"& request.form("field2") &"'"
set rs = connect.execute(show)
if not rs.eof then
   Session("Username") = Request.Form("field1")
else
   Session("username") = ""
end if	
rs.close
if Session("username") <> "" then
Session.Timeout=30
Response.Redirect "go.asp?admin=admin"
else %>

You gotta be a member to login...

<% end if 
end if %>

detta vill jag slänga in:

if rs("Boss") = "YES" then
Session("Boss") = "YES"
elseif rs("Boss") = "NO" then
Session("Boss") = "NO"
end if
			
if rs("Admin") = "YES" then
Session("Admin") = "YES"
elseif rs("Admin") = "NO" then
Session("Admin") = "NO"
end if
Medlem sedan dec. 200012 464 inlägg
#8
Show = "SELECT boss,admin FROM users Where Username='" & _
Request.Form("field1") & _
"' and [password]='"& request.form("field2") &"'"
set rs = connect.execute(show)
if not rs.eof then
   Session("Username") = rs("Username")
   Session("Boss") = rs("Boss")
   Session("Admin") = rs("Admin")
else
   session("username") = ""
end if
Medlem sedan nov. 200139 inlägg
#9

ok tack, men var exakt ska jag lägga in den ? :)

förlåt om jag ställer dumma frågor, e inte så hajj på asp asso :/

Medlem sedan dec. 200012 464 inlägg
#10

Byt denna kod

Show = "SELECT 1 FROM users Where Username='" & _
Request.Form("field1") & _
"' and [password]='"& request.form("field2") &"'"
set rs = connect.execute(show)
if not rs.eof then
   Session("Username") = Request.Form("field1")
else
   Session("username") = ""
end if

mot

Show = "SELECT boss,admin FROM users Where Username='" & _
Request.Form("field1") & _
"' and [password]='"& request.form("field2") &"'"
set rs = connect.execute(show)
if not rs.eof then
   Session("Username") = rs("Username")
   Session("Boss") = rs("Boss")
   Session("Admin") = rs("Admin")
else
   session("username") = ""
end if
Medlem sedan nov. 200139 inlägg
#11

OK det fungerar!
Tack så hemskt mycket LarsG! Kul att folk är så hjälpsamma här :D

278 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)