The else from hell!

ASP

29 svar · 295 visningar · startad av Hallgren · sida 2 av 2

Trådstarten, av Hallgren

Mmm, har försökta att få in denna kod: if request.Form("uid") ="admin" And request.Form("pws") = "admin" Then response.redirect("admin.asp") i denna: <% set dbcon = Server.CreateObject("ADODB.Connection") dbcon.Open "driver={Microsoft Access Driver (.mdb)};dbq=" & Server.Mappath("restauranger.mdb") if RequestCookies("lunchguiden")("uid") = "" Or RequestCookies("lunchguiden")("pwd")

Läs hela trådstarten →
Medlem sedan dec. 200012 464 inlägg
#21

Mm, men det verkar vara ett end if för mycket i din kod.

<%
if lcase(request.Form("uid")) ="admin" And lcase(request.Form("pws")) = "admin" Then
response.redirect("admin.asp")
end if

set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.Mappath("restauranger.mdb")
if RequestCookies("lunchguiden")("uid") = "" Or RequestCookies("lunchguiden")("pwd") = "" then
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & request.Form("uid") & "' And rest_pwd = '" & request.Form("pwd") & "'")
if UID.EOF then
%>Felaktigt lösenord<br><br><a href="inloggning.asp">Försök igen</a><%
ResponseCookies("lunchguiden")("uid") = ""
ResponseCookies("lunchguiden")("pwd") = ""
ResponseCookies("lunchguiden").Expires = Date + 365
else
Session("login_id") = UID("rest_id")
Response.Redirect("meny.asp")
if Request.Form("spara_losenord") = "ja" then
ResponseCookies("lunchguiden")("uid") = UID("rest_uid")
ResponseCookies("lunchguiden")("pwd") = UID("rest_pwd")
ResponseCookies("lunchguiden").Expires = Date + 365
end if
'[b]
' detta följande end if borde bort 
' tycker jag det ser ut som
' end if
'[/b]
else
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & RequestCookies("lunchguiden")("uid") & "' And rest_pwd = '" & RequestCookies("lunchguiden")("pwd") & "'")
if UID.EOF then
%>Felaktigt lösenord<br><br><a href="login.asp">Försök igen</a><%
ResponseCookies("lunchguiden")("uid") = ""
ResponseCookies("lunchguiden")("pwd") = ""
ResponseCookies("lunchguiden").Expires = Date + 365
else
Session("login_id") = UID("rest_id")
Response.Redirect("meny.asp")
end if
end if

%>
Medlem sedan dec. 19991 606 inlägg
#22

Det ska väl in ett else mellan

<%
if lcase(request.Form("uid")) ="admin" And lcase(request.Form("pws")) = "admin" Then
response.redirect("admin.asp")
end if

och

set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.Mappath("restauranger.mdb")
if RequestCookies("lunchguiden")("uid") = "" Or RequestCookies("lunchguiden")("pwd") = "" then
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & request.Form("uid") & "' And rest_pwd = '" & request.Form("pwd") & "'")
if UID.EOF then

etc.

Medlem sedan dec. 200012 464 inlägg
#23

Nej det behövs inte då du gör response.redirect inuti if

Medlem sedan juni 200032 967 inlägg
#24

nu när det bara är en redirect som skall utföras, så kan vi förenkla till detta:

if lcase(request.Form("uid")) ="admin" And lcase(request.Form("pws")) = "admin" Then response.redirect("admin.asp")

bara en liten parentes... :)

Medlem sedan dec. 19991 606 inlägg
#25

Får "Expected Statment line 22 End If"

<%
if lcase(request.Form("uid")) ="admin" And lcase(request.Form("pws")) = "admin" Then response.redirect("admin.asp")
end if
set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.Mappath("restauranger.mdb")
if RequestCookies("lunchguiden")("uid") = "" Or RequestCookies("lunchguiden")("pwd") = "" then
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & request.Form("uid") & "' And rest_pwd = '" & request.Form("pwd") & "'")
if UID.EOF then
%>Felaktigt lösenord<br><br><a href="inloggning.asp">Försök igen</a><%
ResponseCookies("lunchguiden")("uid") = ""
ResponseCookies("lunchguiden")("pwd") = ""
ResponseCookies("lunchguiden").Expires = Date + 365
else
Session("login_id") = UID("rest_id")
Response.Redirect("meny.asp")
if Request.Form("spara_losenord") = "ja" then
ResponseCookies("lunchguiden")("uid") = UID("rest_uid")
ResponseCookies("lunchguiden")("pwd") = UID("rest_pwd")
ResponseCookies("lunchguiden").Expires = Date + 365
end if

else
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & RequestCookies("lunchguiden")("uid") & "' And rest_pwd = '" & RequestCookies("lunchguiden")("pwd") & "'")
if UID.EOF then
%>Felaktigt lösenord<br><br><a href="login.asp">Försök igen</a><%
ResponseCookies("lunchguiden")("uid") = ""
ResponseCookies("lunchguiden")("pwd") = ""
ResponseCookies("lunchguiden").Expires = Date + 365
else
Session("login_id") = UID("rest_id")
Response.Redirect("meny.asp")
end if
end if

%>
Medlem sedan dec. 200012 464 inlägg
#26

Ursäkta mig, men mitt inlägg om att det var ett end if för mycket var helt fel.

<%
if lcase(request.Form("uid")) ="admin" And lcase(request.Form("pws")) = "admin" Then 
response.redirect("admin.asp")
end if
set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.Mappath("restauranger.mdb")
if RequestCookies("lunchguiden")("uid") = "" Or RequestCookies("lunchguiden")("pwd") = "" then
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & request.Form("uid") & "' And rest_pwd = '" & request.Form("pwd") & "'")
if UID.EOF then
%>Felaktigt lösenord<br><br><a href="inloggning.asp">Försök igen</a><%
ResponseCookies("lunchguiden")("uid") = ""
ResponseCookies("lunchguiden")("pwd") = ""
ResponseCookies("lunchguiden").Expires = Date + 365
else
Session("login_id") = UID("rest_id")
Response.Redirect("meny.asp")
if Request.Form("spara_losenord") = "ja" then
ResponseCookies("lunchguiden")("uid") = UID("rest_uid")
ResponseCookies("lunchguiden")("pwd") = UID("rest_pwd")
ResponseCookies("lunchguiden").Expires = Date + 365
end if
end if
else
set UID = dbcon.execute("SELECT * FROM rest WHERE rest_uid = '" & RequestCookies("lunchguiden")("uid") & "' And rest_pwd = '" & RequestCookies("lunchguiden")("pwd") & "'")
if UID.EOF then
%>Felaktigt lösenord<br><br><a href="login.asp">Försök igen</a><%
ResponseCookies("lunchguiden")("uid") = ""
ResponseCookies("lunchguiden")("pwd") = ""
ResponseCookies("lunchguiden").Expires = Date + 365
else
Session("login_id") = UID("rest_id")
Response.Redirect("meny.asp")
end if
end if

%>

VB-script är känsligt för radbrytningar. Om man skriver så här på en rad

if a = b then c = 12

så skall det inte vara något end if efter.

Medlem sedan dec. 19991 606 inlägg
#27

Nu blir jag ledsen. Det funkar ändå inte. Det är precis som om det inte läser av "admin". :(

Dags att åka hem snart. Lite skönt ialla fall. :)

Medlem sedan juni 200032 967 inlägg
#28

om du inte fått det att lira, så släng upp hela koden och rapportera felmeddelanden.

du vet att man inte får ge upp, eller hur ? :)

Medlem sedan dec. 19991 606 inlägg
#29

Den koden jag kör med är dem som LarsG la in sist. Har dock fixat ResponseCookies.

Medlem sedan dec. 19991 606 inlägg
#30

Ok, nu så tänkte jag skylla först på LarsG då jag fått fel kod, sen tänkte jag skylla på @nders för han inte märkte det tidigare MEN jag har bestämt mig för att skylla på mig själv och de som vill får gärna "sparka" lite på mig.

DET SKALL VARA PWD OCH INTE PWS!!

Tack för mig. :)

PS. Tack @nders! DS.

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)