webForumDet fria alternativet

response.redirect

ASPur ASP

12 svar · 340 visningar · startad av lillen_009

Medlem sedan nov. 2002137 inlägg
Frågan#1

Jag har en <form> där man loggar in på sidan. Man skickas då till sidan admin.asp som kollar att lösenord+användare=sant

Problemet är vart man ska ta vägen sedan. Jag vill att man ska komma tillbaka till sidan man var på, men det verkar inte fungera med response.redirect "javascript:history.go(-1)"

Man kan logga in från många olika sidor och jag vill undvika att sätta
response.redirect "index.asp" pga att jag vill att användaren ska vara kvar på den sidan den var på innan han loggade in.

Medlem sedan mars 20032 667 inlägg
#2
send_to_url = request.servervariables("http_referer")
Medlem sedan juni 200032 967 inlägg
#3

Ditt försök borde fungera, i alla fall så länge man använder IE. ;)

Man kan försöka med detta:

Response.redirect Request.Servervariables("HTTP_REFERER")

eller helt enkelt:

Response.write "<script>history.go(-1);</script>"

Mvh

Medlem sedan mars 20032 667 inlägg
#4

Med @nders andra exempel bör du ha en fnutt " på slutet också. :)

Medlem sedan juni 200032 967 inlägg
#5

Jag noterade precis det, har redigerat.

Tack K.

Medlem sedan nov. 2002137 inlägg
#6

URL krävs??

Får följande fel:

Feltyp:
Response-objekt, ASP 0158 (0x80004005)
En URL krävs.

Varför?
Fungerar det inte när man kör lokalt?

Medlem sedan nov. 2002137 inlägg
#7

Har funderat

Borde gå om man lägger in en

input type="hidden" name="REFERER" value="URL"

och sedan skriva:
response.redirect request.form("REFERER")

Hur kan man göra för att få value="URL"
Finns det något sätt att skriva ut _hela_ sidans namn i ASP?

Medlem sedan juli 200322 inlägg
#8

Vissa brandväggar stoppar HTTP_REFERER. På grund av detta är det sällan att rekomendera att använda sig av HTTP_REFERER för viktig funktionalitet på sin sida.

Medlem sedan juni 200032 967 inlägg
#9

Visa kod.

Om du använder varianten med http_referer, så måste du se till att du verkligen kommer någonstans ifrån. Den har inget värde annars. Det är alltså inte samma sak som tidigare adress i history, eftersom servern inte har en aning om var du varit innan.

mvh

Medlem sedan juli 200322 inlägg
#10

Request.ServerVariables("URL")
anger URL-adressen för sidan man befinner sig på.

Medlem sedan nov. 2002137 inlägg
#11

Fel URL

Har kollat lite idag efter arbetet. Skriver man ut request.ServerVariables("URL") får jag /forum/forum.asp och då förstår jag att jag inte kommer till rätt sida. Hur får man med hela URL:en? Ska alltså bli http://localhost/forum/forum.asp

Medlem sedan juli 200322 inlägg
#12

Både /forum/forum.asp och http://localhost/forum/forum.asp borde fungera. Men i annat fall får du väll lägga till "http://localhost" framför:
url = "http://localhost" & request.ServerVariables("URL")

Men som sagt det ska fungera med bara /forum/forum.asp eftersom varje länk som börjar med / är relativ rot katalogen som i ditt fall just är localhost.

Medlem sedan nov. 20014 054 inlägg
#13

Re: Fel URL

lillen_009 skrev:

Har kollat lite idag efter arbetet. Skriver man ut request.ServerVariables("URL") får jag /forum/forum.asp och då förstår jag att jag inte kommer till rätt sida. Hur får man med hela URL:en? Ska alltså bli http://localhost/forum/forum.asp

När du skall ha en loginform på flera sidor och vill skickas tillbaka till den sidan som du var på kan du sätta ett input-fält med hidden som typ på detta sätt

<input type="hidden" name="send_to_url" value="<%=Request.ServerVariables("SCRIPT_NAME")%>" />

Och sedan bara i login grejjsimojjen;

<%
' Skickas tillbaka till den sidan som formuläret fanns på!
Response.Redirect(Request.Form("send_to_url"))
%>

Hoppas du får det att funka.

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