Avatar billede totalpc Seniormester
26. maj 2009 - 10:30 Der er 6 kommentarer og
1 løsning

Finde det link brugeren kommer med

Hej
Jeg har en side hvor jeg tjekker for logger hvor folk kommer fra http_referer osv. Men det betyder at jeg kommer til at skrælle id fra det link det kommer med. Eksempelvis:

http://www.team-emilie.dk/ giver mig min forside som den skal.
Men klikker folk på et link jeg har lagt i et forum fx følgende:

http://www.team-emilie.dk/default.asp?sitepage=view_fangst&id=50

Så mister jeg alt efter default.asp fordi jeg kører det igennem min log indsamling og dermed sender dem tilbage til default.asp.

Jeg bruger denne kode via 3 sider:

default.asp

  if isempty(session("log")) then
    response.redirect ("log.asp")
  else
  END IF

Log.asp

Her logger jeg en masse servervariabler i en database og så sender jeg videre til en email funktion

Response.Redirect "log_email.asp?referer=" & Request.ServerVariables("REMOTE_ADDR")

Log_email.asp

Her sender jeg mig selv en email om at der har været besøg og så sender jeg dem tilabge til default.asp

Response.Redirect "default.asp"


Så jeg kan jo godt se at jeg selv ripper alt efter default.asp, men hvordan får jeg det med hele vejen igennem min log/email funktion og så sender dem tilbage til det link de kom med. Kan jeg det??
Avatar billede no_doubt Nybegynder
26. maj 2009 - 10:39 #1
Send dem tilbage til: servervariables("http_referer")
Avatar billede -mundi- Nybegynder
26. maj 2009 - 10:57 #2
Da referer ikke altid virker, kunne du også overveje at gemme informationerne om hvilken side brugeren er på i en session variabel inden du sender dem videre til log siden. Noget i stil med

if isempty(session("log")) then
    session("ref") = servervariables("SCRIPT_NAME") & "?" servervariables("QUERY_STRING")
    response.redirect ("log.asp")
  else
  END IF

og så på log siden sende dem tilbage :
Response.Redirect session("ref")
Avatar billede totalpc Seniormester
26. maj 2009 - 11:05 #3
jeg har forsøgt http_referer men den er ofte blank.
Mundi vil du uddybe, jeg forstår ikke din kode?
Avatar billede -mundi- Nybegynder
26. maj 2009 - 11:21 #4
Du gemmer den side de er på,i en session variabel, inden du sender dem videre til Log_email.asp

På Log_email.asp sender du dem tilbage til den værdi der er i session variablen

Denne linie gemmer den nuværende side i en sessionvariabel:
session("ref") = servervariables("SCRIPT_NAME") & "?" servervariables("QUERY_STRING")

Og denne sender dem tilbage til siden de kom fra :
Response.Redirect session("ref")
Avatar billede totalpc Seniormester
26. maj 2009 - 13:04 #5
-mundi- smid et svar.
Jeg kendte ikke lige script_name og query_string som variabler.
Det virker perfekt. Takker
Avatar billede -mundi- Nybegynder
26. maj 2009 - 13:06 #6
1 stk svar :-)
Avatar billede totalpc Seniormester
26. maj 2009 - 13:32 #7
tak for hjælpen
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