webForumDet fria alternativet

Inloggning!

13 svar · 222 visningar · startad av graf

grafMedlem sedan aug. 2001174 inlägg
#1

Hej, jag tänkte skaffa en ASP-inloggnings script och har kommit långt ;-)

När man kommer in på sidan kommer man till denna sida:
<html>
<head>
<title>logga in</title>
</head>
<body>
<form action="login.asp" method="post">
Användarnamn:<br><input type="text" name="login"><br>
Lösenord:<br><input type="password" name="password"><br>
<input type="submit" value="Logga In" name="submit">
</form>
</body>
</html>

sedan om man har skrivit rätt användarnamn & password så ska man komma till en sida som ser ut såhär:

<%
dim id, psw
session("id") = Request.Form("login")
session("psw") = Request.Form("password")

If session("id") = "person1" And session("psw") = "psw1" or session("id") = "person2" and session("psw") = "psw2" or session("id") = "Person3" and sessin("psw") = "psw3" then %>

Men när jag ska logga in (jag skriver rätt nick & lösenord) så får jag detta felmeddelande:

Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/graf/login.asp, line 7

Vad ligger felet?

grafMedlem sedan aug. 2001174 inlägg
#2

Jag har även detta script på den sida jag ska lösenordsskydda:

<%@ LANGUAGE="VBSCRIPT" %>
<%
If session("inloggad") = 1 Then
%>
<html></html>
<%
Else
response.Redirect("login.html")
End If
%>

jorgenMedlem sedan feb. 20012 412 inlägg
#3

Hej!

Du måste avsluta If-satsen med End If.

mvh Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

jorgenMedlem sedan feb. 20012 412 inlägg
#4

Hej!

<%@ LANGUAGE="VBSCRIPT" %>
<% 
If session("inloggad") = 1 Then
%> 
<html></html>
<% 
Else
response.Redirect("login.html")
End If
%>

Liten förbättring på din senaste postade kod:


<% 
If session("inloggad") <> 1 Then
response.Redirect("login.html")
End If
%>

Som du lägger överst på varje skyddad sida.

mvh Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

[Redigerat av jorgen den 22 sep 2001]

grafMedlem sedan aug. 2001174 inlägg
#5

Hej Jörgen!

Såhär eller?
<%
dim id, psw
session("id") = Request.Form("login")
session("psw") = Request.Form("password")

If session("id") = "person1" And session("psw") = "psw1" or session("id") = "person2" and session("psw") = "psw2" or session("id") = "Person3" and sessin("psw") = "psw3" then End if %>

grafMedlem sedan aug. 2001174 inlägg
#6

Såg inte ditt sista inlägg Jörgen!
Tack så mkt!

jorgenMedlem sedan feb. 20012 412 inlägg
#7

Nopps!

End If måste vara på en egen rad :)

mvh Jörgen

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

jorgenMedlem sedan feb. 20012 412 inlägg
#8

Hej!

If session("id") = "person1" And session("psw") = "psw1" or session("id") = "person2" and session("psw") = "psw2" or session("id") = "Person3" and sessin("psw") = "psw3" then End if %>

Vad vill du göra med denna koden, tycker den ser lite omständig ut?

Mvh Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

grafMedlem sedan aug. 2001174 inlägg
#9

Oj oj nu blev det för mycket här ;-)

Jag skrev såhär i filen login.asp:

<%@ LANGUAGE="VBSCRIPT" %>
<%
If session("inloggad") = 1 Then
%>
<html></html>
<%
Else
response.Redirect("login.html")
End If
%>
<%
dim id, psw
session("id") = Request.Form("login")
session("psw") = Request.Form("password")

If session("id") = "Webmaster" And session("psw") = "gcunq87" or session("id") = "intreakt" and session("psw") = "grand" or session("id") = "Person3" and sessin("psw") = "psw3" then %>

Det var fel, vad exakt ska jag skriva i den filen?

Tack!

jorgenMedlem sedan feb. 20012 412 inlägg
#10

Hej!

Du har ett formulär med 2 fält: login och password. Jag antar att du har samma namn på fälten i databasen.

loggain.asp

där har du ditt formulär som går till logincheck.asp

logincheck.asp

'# -- Kolla så att loginuppgifterna stämmer --

SQLStmt = "SELECT * FROM tabell WHERE login = '" & Request.Form("login") & "' " & _
" AND Password = '" & Request.Form("Password") & "'"
Set RS = Connection.Execute(SQLStmt) 

If RS.EOF Then

'#--om det inte stämmer, ominloggning--
Response.Redirect("login.html") 

Else 

'#--om det stämmer, inloggad och session skapas--
dim id
session("id") = Request.Form("login")
Response.Redirect("inloggad.asp") 

End If
%>

Överst på varje sida för att kolla så att användaren har en giltlig session

<% 
If session("id") = "" Then
response.Redirect("login.html")
End If
%>

Jag hade inte sparat lösenordet i en session. Utan bara användarens Id.

Mvh Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

[Redigerat av jorgen den 22 sep 2001]

grafMedlem sedan aug. 2001174 inlägg
#11

Jag tänkte göra samma sak som dem förklarar på http://cgi.webforum.nu/wf/Forum11/HTML/000251.html och då ska man inte behöva en databas.

Men jag förstår inte riktigt vart jag ska lägga in End if :(

jorgenMedlem sedan feb. 20012 412 inlägg
#12

Hej!

En grundmodell:


If 1 = 0 Then

'detta är en omöjlighet

else

'det omöjliga har blivit möjligt

End If

Hajar du?

Mvh Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

grafMedlem sedan aug. 2001174 inlägg
#13

Nej det gör jag icke :)
Men om vi går tillbaka till den koden jag skrev i början.
Hur ska jag skriva den för att få det att fungera som det ska?

jorgenMedlem sedan feb. 20012 412 inlägg
#14
If session("id") = "person1" And session("psw") = "psw1" or session("id") = "person2" and session("psw") = "psw2" or session("id") = "Person3" and sessin("psw") = "psw3" then 

'#-- Här måste hända något--

'#-- Här skrivs ut en End If --
End If

%>

Du slutar ju efter Then (kolla mallen ovan) Där m¨åste finnas en END If efter det som ska händta om If-satsen uppfylls.

mvh Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

[Redigerat av jorgen den 23 sep 2001]

452 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
449 ms — hämta tråd, inlägg och bilagor (db)