Avatar billede Slettet bruger
07. maj 2003 - 10:06 Der er 3 kommentarer og
1 løsning

HTTP_REFERER

Det lykkedes mig at oprette et brugernavn-system hvor alt fungerer vel. Men jeg har et lille luksus-problem som nager mig lidt:

Der er, selvfølgelig, en side som hedder Error.asp - denne side viser alle de fejl som opstår på siden. F.eks. forkert brugernavn eller password, allerede brugt brugernavn ved oprettelse af en ny bruger, at ens password ikke er det samme i begge felter ved oprettelsen, osv osv.

Et eksempel:
http://www.balladefis.dk/error.asp?content=login&error=typein

Her får man at vide, at ens brugernavn eller password er forkert. Og nu kommer det store spørgsmål:

På den side bliver man bedt om at logge ind hvis man allerede har en konto. Hvis man logger ind, så bliver man smidt til Login.asp og Login.asp checker om brugernavnet og password'et er korrekt, og hvis det er det, så sender den en videre via:
response.redirect("" & request.ServerVariables("HTTP_REFERER") & "")

Dvs når man har logget ind korrekt, så bliver man smidt tilbage til fejl-siden, netop fordi at jeg har brugt det script som er skrevet ovenover. Det jeg vil ha den til er:

<% if HTTP_REFERER er ligmed "/error.asp*" så response.redirect("default.asp") %>

Dvs at før den redirecter til siden hvor man har logget ind, så checker den om man har logget ind fra error.asp* (* menes, at alt hvad der kommer derefter, hører under error.asp. F.eks. error.asp?content=blabla skal blive forstået som en del af error.asp, og derfor redirectes til default.asp), hvis man så er logget ind fra error.asp* så bliver man smidt hen til default.asp - hvis ikke, så bliver man smidt tilbage til den side hvor man har logget ind.

Jeg vil også meget gerne ha at vide, hvordan man også kan redirecte hvis adressen er "hej.asp?content=hej" og ikke kun "hej.asp". Jeg vil også ha domænet ekskluderet.. dvs "http://www.balladefis.dk/hej.asp" er ikke nødvendigt, bare der står "hej.asp".

En lidt lang forklaring, men erfarne brugere burde vide hvad jeg mener blot ved at læse det første.. ellers er der en lang beskrivelse til jer andre :)
Avatar billede Spotgun Seniormester
07. maj 2003 - 10:09 #1
If Left(Request.ServerVariables("HTTP_REFERER"), 9) = "error.asp" Then
  redirPage = "default.asp"
Else
  redirPage = Request.ServerVariables("HTTP_REFERER")
End If
Response.Redirect(redirPage)

Jeg skulle mene noget i denne stil burde virke...
Avatar billede eagleeye Praktikant
07. maj 2003 - 10:10 #2
Så kan du bruger inStr:

if inStr(1, request.ServerVariables("HTTP_REFERER"), "error.asp") > 0 then
  response.redirect("default.asp")
else
  response.redirect(request.ServerVariables("HTTP_REFERER"))
end if
Avatar billede Spotgun Seniormester
07. maj 2003 - 10:14 #3
Jeg må se og vågne op - selvfølgelig skal du bruge inStr i stedet for :-)
Avatar billede Slettet bruger
07. maj 2003 - 10:16 #4
mange tak, eagleeye :) du har også løst et andet problem som jeg havde :D
og ellers tak for hjælpen, spotgun :P
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