Avatar billede want2learn Nybegynder
26. december 2003 - 19:00 Der er 21 kommentarer og
1 løsning

Request.Querystring og session spm

jeg har en side med dette link:

<a class="userlink" href="rediger.asp?UserID='<%=session("uid")%>'">[<%=session("name")%>]</a>

der viser uid det ID som en bruger har, man kan også klikke på brugeren navn og brugeren vil blive sendt til rediger og kunne rette i hans konto.

mit spm er hvordan jeg henter session("uid") ind på rediger siden hvois jeg har dette på den side:

<%
Dim rsRediger

sql = "Select * From userdb Where UserID = " & Request.Querystring("???????")
Set rsRediger = Server.CreateObject("ADODB.Recordset")
rsRediger.Open sql, cn, 3, 3
%>

nogle der kan hjælpe !?
Avatar billede squashguy Nybegynder
26. december 2003 - 19:05 #1
Request.Querystring("UserID")

Men dette kan ikke anbefales, da man uden problemer kan spoofe en anden brugers id. Kan du ikke bare gøre sådan:

<a class="userlink" href="rediger.asp">[<%=session("name")%>]</a>
---
sql = "Select * From userdb Where UserID = " & session("uid")
Avatar billede erikjacobsen Ekspert
26. december 2003 - 19:05 #2
sql = "Select * From userdb Where UserID = " & Request.Querystring("UserID")

men mon du ikke løber ind i et sikkerhedsproblem - kan man ikke skrive
et vilkårligt brugernavn. og redigere i den. Hvis den står i session hvorfor
skal den så også stå i url-en??
Avatar billede squashguy Nybegynder
26. december 2003 - 19:11 #3
En gylden regel er, at du må på ingen måde lade vigtige parametre indgå på brugersiden, da disse kan ændres.
Avatar billede fixxxer Nybegynder
26. december 2003 - 19:12 #4
jeg slutter mit til erikjacobsen, det virker mærkeligt at værdier der allerede er gemt i sessions også skal en tur over en query
Avatar billede erikjacobsen Ekspert
26. december 2003 - 19:17 #5
Ja ja, fixxer, men jeg skrev bare af efter squashguy - han var jo først med det samme ;)
Avatar billede want2learn Nybegynder
26. december 2003 - 19:21 #6
jamen hvis jeg feks har hentet session på en side for bla. navn id osv vil disse sessions så kunne bruges hele tiden lige ind til man lukker browseren eller går over på et andet domæne !??
Avatar billede fixxxer Nybegynder
26. december 2003 - 19:59 #7
want2learn >> det er lige hva de kan :)

erikjacobsen >> ja så retter jeg mig selv og slutter mig til dig og squashguy :)
Avatar billede want2learn Nybegynder
26. december 2003 - 20:17 #8
vildt :)

jeg takker jer alle med mindre i vil have 10 P hver så bliver det nok SQUASHGUY og Erik det løber med 15 hver da i stort set svarede samtidigt så vil I lægge et svar !??
Avatar billede fixxxer Nybegynder
26. december 2003 - 20:21 #9
ja kan godt undvære :)
Avatar billede want2learn Nybegynder
26. december 2003 - 20:27 #10
skal dog lige høre hvis jeg bruger citat:26/12-2003 19:05:24

og brugeren hedder brian og han har id 5, når brian så kommer ind på redigeringssiden hvordan vil linket rediger.asp så se ud for brian !??

vil det være rediger.asp?brian eller rediger.asp?5 !??
Avatar billede want2learn Nybegynder
26. december 2003 - 20:41 #11
har forresten lige et par ting !!

hvis jeg på redigerings siden henter noget fra db fra den enkelte bruger gør jeg også bare det sådan her:

<input name="navn" size="28" style="text-align: center;" value="<%=session("name")%>">

eller !??
Avatar billede erikjacobsen Ekspert
26. december 2003 - 20:44 #12
dit link hedder bare rediger.asp  - resten aflæser du i sessions-variablen
Avatar billede erikjacobsen Ekspert
26. december 2003 - 20:46 #13
du behøver stadig ikke - 20:41:41 - putte sessionvariabler i din html
Avatar billede want2learn Nybegynder
26. december 2003 - 21:59 #14
fandt lige en ting!!

hvis man henter noget fra en db vis evt <%=session("navn")%> og man andre dette og gemmer det i db.

så når man igen går ind i redegeringen af denne hvor navnet igen bliver hentet så er det jo stadigvæk det gamle navn !!

Hvordan kan man updaterer ens sessions så den efter man har gemt bruger de nye værdier !??
Avatar billede erikjacobsen Ekspert
26. december 2003 - 22:00 #15
session("navn") =  rs("nogetandet")
Avatar billede want2learn Nybegynder
26. december 2003 - 22:20 #16
okay skal det være efter jeg har gemt !?? og skal jeg kan lave en session = over dem jeg kun kan ændre !??  session navn var et dumt eks da dette ikke kan ændre men vil dette være nok:

    rsRediger("UserFName") = BB
    rsRediger("UserLName") = CC
    rsRediger("UserAdr") = DD
    rsRediger("UserCity") = EE
    rsRediger("UserPostal") = FF
    rsRediger("UserPassword") = AA
    rsRediger.Update


    session("fn") = rs("UserFName")
    session("ln") = rs("UserLName")
    session..........osv osv

rsRediger.close
set rsRediger = nothing
conn.Close
Set conn = Nothing

    Response.Redirect("default.asp")
end if


og vil den så stadigvæk kunne huske de sessions der ikke er nævnt her eller bør jeg laven en session("XX") = rs("XXXX") over alle de udtræk jeg vil køre med !??
Avatar billede erikjacobsen Ekspert
26. december 2003 - 22:23 #17
Det ser da korrekt ud - den husker de sessions du ikke ændrer
Avatar billede want2learn Nybegynder
26. december 2003 - 22:26 #18
kanon !! tak ;)
Avatar billede want2learn Nybegynder
26. december 2003 - 22:35 #19
den kom godt nok med en lille fejl men lavede det så det virker !!
Avatar billede want2learn Nybegynder
17. januar 2004 - 14:00 #20
læg venligst et svar !!
Avatar billede erikjacobsen Ekspert
17. januar 2004 - 14:01 #21
Godt det virker - jeg samler ikke på point.
Avatar billede want2learn Nybegynder
17. januar 2004 - 14:17 #22
okay men jeg takker alligevel og dette skal jo lukkes ;) men mange tak !!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester