webForumDet fria alternativet

Cookie Rookie... Needs help

17 svar · 358 visningar · startad av T_Codez

T_CodezMedlem sedan juli 2001458 inlägg
#1

Hej

Jag skulle vilja skapa en "Memory Cookie"

Alltså... Typ att den bara finns medans användaren är inloggad. Sen skulle jag även vilja att en del värden från databasen följer med den cookien. Så här långt har jag kommit än så länge:

Inloggningschecken:

<%
option explicit

Dim username, password, SQL, db, rs, fltuserkat, fltname, fltusername, fltcountrycode

username = Request.Form("admin")
password = Request.Form("adminpassword")

SQL = "SELECT * FROM tblusers Where fltusername = '" &username &"' And fltpassword = '" &password &"'"

if (len(username))>0 And (len(password)>0) Then

Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"
Set rs = db.Execute (SQL)

fltuserkat = rs("fltuserkat")
fltname = rs("fltname")
fltusername = rs("fltusername")
fltcountrycode = rs("fltcountrycode")
fltbusinessarea = rs("fltbusinessarea")

if not Rs.EOF Then
' Sätter en cookie med användarens: userkategori (Roll i applikationen)
' name (användaren namn) username (användaren användarnamn)
' countrycode (användarens landskodsrättigheter) businesarea (användarens affärsområde)
%>
<%

Response*cookies("User")("uid")= rs("fltuserkat")
Response*cookies("User")("name")= rs("fltname")
Response*cookies("User")("uname")= rs("fltusername")
Response*cookies("User")("ccode")= rs("fltcountrycode")
Response*cookies("User").path="/admin"'______________________________gäller endast till admin_edit_sidorna
Response*cookies("User").Expires=date()+365
Response.Redirect "admin/inloggad.asp"
%>
<% else
Response.Redirect "invalid.asp"
End if
End if
%>

Misstänker att felet är har någonstans. För i nästa fil får jag ingen presentation av cookien. Filen är inloggad.asp. Den ser ut så här:

\<%  

Dim cookie, Key

For each Cookie in Request\*cookies
Response.Write "\<P\>"

If Request\*cookies(cookie).Haskeys Then
Response.Write cookie &"\<br\>"
For each Key in Request\*cookies(cookie)
Response.Write Key &"="
'Response.Write
Request\*cookies(cookie)(Key)
Response.Write"\<br\>"
Next
Else
Response.Write User &"="   
Request\*cookies(cookie)&"\<br\>"
End if
Response.Write"\<p\>"
Next
%\> 

Ser ni vad det är som inte är som det ska?

Sorry om det är lite kufiska stavfel etc. Klockan´mycke jag trött...

Tack för uppmärksamheten

mvh / TT

[Redigerat av T_Codez den 18 jul 2001]

[Redigerat av T_Codez den 18 jul 2001]

PaceMedlem sedan juni 20019 024 inlägg
#2

Använder du * vid "Request*cookies... ????

------------------
Peter D

T_CodezMedlem sedan juli 2001458 inlägg
#3

Nej...

Forumet tillåter ej att man skriver
"punkt"cookie. Därför tog jag * istället för punkten.

[Redigerat av T_Codez den 18 jul 2001]

PaceMedlem sedan juni 20019 024 inlägg
#4

Hmmm... får nog ta itu med detta imorgon när man är pigg och utvilad.

------------------
Peter D

ironheadMedlem sedan mars 20011 346 inlägg
#5

Borttaget för att inte skämmas någe mer!

[Redigerat av ironhead den 18 jul 2001]

@ndersMedlem sedan juni 200032 969 inlägg
#6

Du måste Loopa igenom användarna i databasen först.

nej, nej, nej, nej, nej!

det korrekta villkoret username ställs ju redan i sql-frågan.

idg-fasoner... :x

har inte koncentrerat mig på själva huvudproblemet dock. returnerar sql-frågan någonting? har du provat att skriva ut sql-frågan med response.write? den ser korrekt ut?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

T_CodezMedlem sedan juli 2001458 inlägg
#7

Hej

Eeeh... SQL-frågan har jag inga som helst problem med...

Dock är det den däringa nedrans cookie historian som inte riktigt vill få variabel tilldelningen att fungera som den ska.

ironheadMedlem sedan mars 20011 346 inlägg
#8

Verkar vara denna rad som ställer till det:

Response*cookies("User").path="/admin"

T_CodezMedlem sedan juli 2001458 inlägg
#9

Major Thankz :-D

[Redigerat av T_Codez den 18 jul 2001]

ironheadMedlem sedan mars 20011 346 inlägg
#10

Response.Write Request*Cookies("User")("blahblah")

T_CodezMedlem sedan juli 2001458 inlägg
#11

Nu är det bara det att jag skulle vilja testköra den rackaren också.

Hur skriver jag ut innehållet Cookiens variabler till en testsida?

Och måste jag anropa cookien på varje sida sedan för att inte tappa den eller?

ironheadMedlem sedan mars 20011 346 inlägg
#12

Nej! Cookien ligger ju lokalt på hårddisken som en textfil under din användarprofil som 'användare@datornamn.txt'

PatrikBMedlem sedan mars 20002 836 inlägg
#13

Du skriver ut cookiesar på detta vis:

strCookie = Request.&#67ookies("CookieName")("CookieKey")

Response.Write strCookie

cookien ligger kvar så länge som browsern e uppe eller om .Expires är satt så gäller cookien till det datumet.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

[Redigerat av PatrikB den 18 jul 2001]

ironheadMedlem sedan mars 20011 346 inlägg
#14

Vad är en "Memory Cookie"

Jag skulle vilja skapa en "Memory Cookie"

Alltså... Typ att den bara finns medans användaren är inloggad.

Jag tycker detta ser ut som "vanliga" cookies ?!
Expires är ju satt till

Response*cookies("User").Expires=date()+365

[Redigerat av ironhead den 18 jul 2001]

JymdisMedlem sedan mars 20016 260 inlägg
#15

en stilla undran?
varför bara inte använda session?
blir ju exakt samma funktion?

------------------
-------------------
Andreas Lännerberg
Jag hör till dom som betalar mina räkningar med glädje, men dom vill hellre ha betalt i pengar.

T_CodezMedlem sedan juli 2001458 inlägg
#16

Har hört att sessioner drar ner prestandan. Mest därför antar jag.

Jag tackar och bockar å det ödmjukaste för all hjälp som Ers ASP-Högheter tillfogat mig.

Nu är det för tillfället som jag vill ha det.

THANKZ

T_CodezMedlem sedan juli 2001458 inlägg
#17

To: Ironhead

Helt riktigt... Har efter det att jag skrev det inlägget fått reda på skillnaden.
Med Expiredatum: vanlig cookie.
Utan Expiredatum: Memory Cookie (kändes mest bara skönt att kalla den för det, då den bara finns med för en liten stund.)

That's it...

Thankz again...

emissionMedlem sedan dec. 19996 721 inlägg
#18

Visst tar Sessions lite kraft, men problemet ska inte överdrivas. Det är en enklare lösning, så kör på det.

En sak till. Flytta upp "if not Rs.EOF Then" till direkt efter "db.Execute (SQL)". Annars lär du får fel om man skriver in fel lösenord t.ex.

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