webForumDet fria alternativet

Response.Redirect

13 svar · 649 visningar · startad av ragnared

ragnaredMedlem sedan apr. 2003152 inlägg
#1

Jag vill att när man har loggat in rätt så ska den ta med ett värde tex om det står under kat i databasen en 5 så ska den visa det längst ner: Det kan ju vara så att det är en ett hoppas ni förstår???

Tex: Response.Redirect "verktygslada.asp?kat=5"

<!-- #include file="adovbs.inc" -->

<%

Set Connect = Server.CreateObject("ADODB.Connection") 

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas/main.mdb")&";pwd=Utz14trWQ"

Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL = "Select * From login"

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

IF (RecSet.EOF or RecSet.BOF) then

Session("mess") = "Databasen är tom!"

Response.Redirect "verktygslada.asp"

ELSE

Do Until RecSet.EOF

IF RecSet("email") = Request.Form("email") AND RecSet("losenord") = Request.Form("losenord") Then

Session("check") = "111ok111"

Session("passw") = "YtSQ12uTr"

RecSet.Close

Connect.Close

Set RecSet = nothing

Set Connect = nothing

Response.Redirect "verktygslada1.asp"

END IF

RecSet.MoveNext

Loop

RecSet.Close

Connect.Close

Set RecSet = nothing

Set Connect = nothing

Session("mess") = "Fel användarnamn eller lösenord"

[B]Response.Redirect "verktygslada.asp"[/B]

END IF

%>
ragnaredMedlem sedan apr. 2003152 inlägg
#2

Jag menar att när man klickar så ska den skicka en till verktygslada.asp?kat=5 eller 4 eller 3 beroende var användaren kar fått för kategori. När jag göra så här så får jag felmeddelande

Response.Redirect "verktygslada1.asp?kat=" & Request.QueryString("kat")&"

LedelMedlem sedan dec. 2004736 inlägg
#3

Response.Redirect("verktygslada1.asp?kat=" & Request.QueryString("kat"))

Borde fungera!

ragnaredMedlem sedan apr. 2003152 inlägg
#4

Får bara så här http://localhost/irene/verktygslada1.asp?kat=

ragnaredMedlem sedan apr. 2003152 inlägg
#5

Det jag menar är när man fyller i rätt anvnamn och lösen ska ska man slussas vidare till den grupp man ligger i Tex: Response.Redirect("verktygslada1.asp?grupp=" & Request.QueryString("kat")) men jag får inte det att funka.

budg1eMedlem sedan apr. 2005116 inlägg
#6

Du måste ju hämta kategorin från din databas istället för med querystring.

Response.Redirect("verktygslada1.asp?kat=" & RecSet("kat"))

om nu fältet kategori heter kat i databasen

ragnaredMedlem sedan apr. 2003152 inlägg
#7

får detta felmeddelande nu;

Körningsfel i Microsoft VBScript fel '800a000d'

Inkompatibla typer: 'RecSet'

/irene/kontroll.asp, rad 50

budg1eMedlem sedan apr. 2005116 inlägg
#8

hur ser rad 50 ut?

ragnaredMedlem sedan apr. 2003152 inlägg
#9

Rad 50 är den rad längre ner som jag har fet makerat:

<%

Set Connect = Server.CreateObject("ADODB.Connection") 

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas/main.mdb")&";pwd=Utz14trWQ"

Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL = "Select * From login"

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

IF (RecSet.EOF or RecSet.BOF) then

Session("mess") = "Databasen är tom!"

Response.Redirect "verktygslada.asp"

ELSE

Do Until RecSet.EOF

IF RecSet("email") = Request.Form("email") AND RecSet("losenord") = Request.Form("losenord") Then

Session("check") = "111ok111"

Session("passw") = "YtSQ12uTr"

RecSet.Close

Connect.Close

Set RecSet = nothing

Set Connect = nothing

[B]Response.Redirect("verktygslada1.asp?kat=" & RecSet("kat"))[/B]

END IF

RecSet.MoveNext

Loop

RecSet.Close

Connect.Close

Set RecSet = nothing

Set Connect = nothing

Session("mess") = "Fel användarnamn eller lösenord"

Response.Redirect "verktygslada.asp"

END IF

%>
budg1eMedlem sedan apr. 2005116 inlägg
#10

Du har ju stängt databasen innan du hämtat värdet i kat. Lägg kategorin i en variable innan du stänger med Recser.close

budg1eMedlem sedan apr. 2005116 inlägg
#11

Typ...

Do Until RecSet.EOF

IF RecSet("email") = Request.Form("email") AND RecSet("losenord") = Request.Form("losenord") Then

Session("check") = "111ok111"

Session("passw") = "YtSQ12uTr"

kategori = RecSet("kat")

RecSet.Close

Connect.Close

Set RecSet = nothing

Set Connect = nothing

Response.Redirect("verktygslada1.asp?kat=" & kategori)
ragnaredMedlem sedan apr. 2003152 inlägg
#12

Tack så mycket förhjälpen alla snälla människor.

budg1eMedlem sedan apr. 2005116 inlägg
#13

se ovan

rhdfMedlem sedan okt. 2007446 inlägg
#14

varför krånglar alla till sina inloggningar?
i den ovanstående koden så hämtas alla fält för samtliga användare och sen loopar man igenom det resultatet för att kolla om den som försöker logga in finns.
Varför?
Man vet ju att det bara är max 1 post man är ute efter, antingen finns användaren eller så finns han inte.
i ovanstående är man ju dessutom bara intresserad av att få ut fältet "kat"

SQL = "Select kat From login WHERE email ='"&Request.Form("email")&"' AND losenord = '"&Request.Form("losenord")&"'; "

Set RecSet=Connect.Execute(SQL)

If NOT RecSet.EOF Then
  Session("check") = "111ok111"
  Session("passw") = "YtSQ12uTr"
  RedirURL= "verktygslada1.asp?kat=" &RecSet(0)
Else
 Session("mess") = "Databasen är tom!"
 RedirURL "verktygslada.asp"

End If
Recset.Close : Set RecSet=Nothing
Connect.Close : Set Connect = Nothing

Response.Redirect(RedirURL)

Lite skydd mot SQL-injections + lite annat finlir på det där så blir det finfint

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