The else from hell!

ASP

29 svar · 295 visningar · startad av Hallgren

Medlem sedan dec. 19991 606 inlägg
Trådstart#1

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") = "" 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

%>

genom att använde else sattsen men får alltid syntax. :( Vart skall jag lägga den!!??

PS. Jag vet att ResponseCookies är fel men var tvungen för att kunna göra detta inlägg DS.

Medlem sedan dec. 200012 464 inlägg
#2

Din else i mitten där hänger inte ihop med någon 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
[b]
if request.Form("uid") ="admin" And request.Form("pws") = "admin" Then
uid.close
dbcon.close
 response.redirect("admin.asp")
end if
[/b]

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

%>

är det något sådant du är ute efter?

Medlem sedan juni 200032 967 inlägg
#3

ett bra sätt att lära sig är att indentera sin kod, så problem som detta är lättare att hitta.

if blah=true then
     response.write "jamen!"
     if blah2=false then
          response.write "nämen!"
     else
          if blah3=true then
               response.write "jomenvisst!"
          end if
     end if
end if
Medlem sedan juni 20019 024 inlägg
#4

ett bra sätt att lära sig är att indentera sin kod, så problem som detta är lättare att hitta.

Om forumet tillät flera mellanslag i rad ja (bortsett från tabb).

Medlem sedan juni 200032 967 inlägg
#5

du skriver väl inte din egen kod i forumet?

använder man perl-taggar som jag gjort ovan så visas mina fem mellanslag jag använt för att indentera.

mvh,

Medlem sedan juni 20019 024 inlägg
#6

... fast texten blir mindre då. Svårare att läsa.

Medlem sedan juni 200032 967 inlägg
#7

ja.

men indenteringarna finns med, så för att demonstrera hur jag tycker att man borde skriva i sin editor när man utvecklar så använder jag perl-taggarna.

fast aldrig annars, eftersom man inte ser vad där står... ;)

Medlem sedan juni 20019 024 inlägg
#8

He he ... exakt! ;)

Medlem sedan juni 20019 024 inlägg
#9

Det borde man ju egentligen klaga på!

Medlem sedan juni 200032 967 inlägg
Medlem sedan juni 20019 024 inlägg
#11

Du är en ängel @nders!!

Medlem sedan dec. 19991 606 inlägg
#12

ÖÖhh, mmmm...hur som helst så fungerar det inte. Det verkar inte läsa av

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

Får fram "fel lösen" typ. :l

Liten tanke bara. Är det inte mer logiskt att använda den "admin" koden först och sedan om det inte stämmer läser den av id/pws från mdb:n?....kankse. :)

Medlem sedan dec. 19991 606 inlägg
#13

Vart har ni försvunnit?

Medlem sedan dec. 200012 464 inlägg
#14

Jo, det är väl lämpligt att kolla admin först.

Kan den misslyckade inloggningen bero på något problem med små kontra stora bokstäver?

Medlem sedan juni 200032 967 inlägg
#15

vi har inte försvunnit, din tråd hade nog bara ramlat ner.

var får du "fel lösen typ"? vilken sida?

Medlem sedan dec. 19991 606 inlägg
#16

@nders, jaf får upp: Felaktigt lösenord Den funktionen finns med på rad 7 i skriptet.

LarsG, är det bara att trycka in:

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

innan

set dbcon = Server.CreateObject etc.
Medlem sedan juni 200032 967 inlägg
#17

ligger användaren admin/admin i db?

Medlem sedan dec. 19991 606 inlägg
#18

Nix.

Medlem sedan dec. 200012 464 inlägg
#19

Ja, om du lägger det först så får du ta bort koden som stänger databaskopplingen och recordsetet

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

Du kan ju lägga in en debug-utskrift på värdena i request.Form("uid") och request.Form("pws") för att se att du får över värdena ordentligt.

Medlem sedan dec. 19991 606 inlägg
#20

Typ:

<%

if lcase(request.Form("uid")) ="admin" And lcase(request.Form("pws")) = "admin" Then
response.redirect("admin.asp")
end if
else
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

%>
385 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
122 ms — hämta statistik (db)
135 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)