grafMedlem sedan aug. 2001174 inlägg 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 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 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 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 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 Såg inte ditt sista inlägg Jörgen!
Tack så mkt!
jorgenMedlem sedan feb. 20012 412 inlägg 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 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 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 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 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 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 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 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]