Avatar billede rille101 Nybegynder
21. marts 2007 - 12:57 Der er 4 kommentarer og
1 løsning

rydde querystrings

hej. jeg er ved at lave et login modul, der fungerer således:

Der er et link i menuen der hedder "login" Klikker man på det, bliver man sendt til en side, "login_tjek.asp" der sender een direkte tilbage til samme side man kom fra, men med en query "?login=true"

Det sker med denne kode:
Response.Redirect (Request.ServerVariables("HTTP_REFERER")  & "?login=true")

Dermed ved den første side, at nu skal den vise en login-formular istedet for "log ind" knappen.

Når man så trykker på OK knappen i formularen, bliver man igen ført til "login_tjek.asp" der tjekker oplysningerne og endnu engang sender brugeren tilbage til den første side, denne gang med en ny query alt efter om loginprocessen lykkedes eller ej.

Problemet er at queryen fra første besøg bliver medtaget i den nye query, så f.eks.

index.asp?login=true

bliver til
index.asp?login=true?error=true?login=true osv.

Når brugeren rigtig kludrer rundt ved login, kan der komme nogle sjove querystrings ud af det, og tilsidst kan index.asp ikke finde ud af hvilke knapper den skal vise.

Derfor er jeg på jagt efter en funktion der kan tømme mine querysstrings hver gang der skal sendes informationer til "login_tjek.asp"
Avatar billede melieha Nybegynder
22. marts 2007 - 08:20 #1
Der er en række måder at gøre det på, den jeg lige synes er nemmest vil være at splitte stringen op ved "?", og så ellers bruge første del af stringen.

string = split(Request.ServerVariables("HTTP_REFERER"),"?")
Response.Redirect (string(0) & "?login=true")
Avatar billede melieha Nybegynder
22. marts 2007 - 08:28 #2
En anden mulighed kunne være at checke hvornår det første spørgsmålstegn kom og så tage left(string,x), jeg kunne forestille mig at det krævede mindre ressourcer hvis det skal med i overvejelserne :)
Avatar billede rille101 Nybegynder
22. marts 2007 - 11:49 #3
Tak for hjælpen :-)
Jeg brugte det første forslag, og det virker bare...

Dim string
string = split(Request.ServerVariables("HTTP_REFERER"),"?")

og så smider jeg ellers bare rundt med

Response.Redirect (string(0) & "?login=true") osv.
Avatar billede rille101 Nybegynder
22. marts 2007 - 11:49 #4
Smider du lige et svar?!
Avatar billede melieha Nybegynder
22. marts 2007 - 12:33 #5
Kanon :)
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