---
title: "Redirect-funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/132597-redirect-funktion"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "lillebror"
published: "2005-08-11T08:34:31.000Z"
updated: "2005-08-12T21:02:02.000Z"
replies: 5
views: 332
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/132597-redirect-funktion"
---

# Redirect-funktion

## #1 — lillebror, 2005-08-11T08:34Z

Hej,

Skulle vilja ha lite synpunkter på en funktion jag håller på med. 

Lägesorientering: En användare som surfar runt på olika sidor kommer till en funktion som kräver inloggning. Användaren loggar in. Då ska personen självklart komma tillbaka till den sida han/hon nyss var på. 

Så här har jag löst det hela:

```
<?php if($_SESSION["active"] == false) {
$redirect = explode("/", $_SERVER['PHP_SELF']);
$_SESSION["activepage"] = "http://".$_SERVER['HTTP_HOST']."/".$redirect[1]."/".$redirect[2];
}
?>
```

Min filosofi här är att jag tar reda på adressen på aktuell sida och fixar iordning en sträng som motsvarar den personen nyss besökt. Denna sträng lagrar jag sedan i en $\_SESSION-variabel som jag läser av i inloggningsfunktionen som i sin tur skickar användaren tillbaka till ursprungssidan.

Är detta en bra lösning? :)

Permalänk: https://www.webforum.nu/p/132597

## #2 — Kent.J, 2005-08-11T10:29Z

Låter som en ok lösning.

Du tappar dock querystringar med din funktion... De plockas upp med $\_SERVER\[QUERY_STRING\].

Varför kör du explode?

ps.
$\_SERVER\['HTTP_REFERER'\] bör undvikas

Permalänk: https://www.webforum.nu/p/1655871

## #3 — lillebror, 2005-08-11T10:39Z

> **Kent.J skrev:**
>
> Du tappar dock querystringar med din funktion... De plockas upp med $\_SERVER\[QUERY_STRING\].

Hur menar du "tappas bort"? :)

> **Kent.J skrev:**
>
> Varför kör du explode?

Bra fråga. Det blev så med de kunskaper jag hade. Tänkte kanske fel.

> **Kent.J skrev:**
>
> $\_SERVER\['HTTP_REFERER'\] bör undvikas

Varför? Den skriver ju ut hela adressen så när som på "querisarna". Är inte det bra?

Permalänk: https://www.webforum.nu/p/1655875

## #4 — Kent.J, 2005-08-11T11:43Z

De sakerna du har efter filnamnet kommer försvinna när du skickar tillbaka dem.  

<http://www.server.com/fil.php?do=show> blir <http://www.server.com/fil.php> 

Så du bör även spara det.

```php
$_SESSION["activepage"] = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
if($_SERVER['QUERY_STRING']>' ') $_SESSION["activepage"] .= "?".$_SERVER['QUERY_STRING'];
```

$\_SERVER\["HTTP_REFERER"\] bör man undvika eftersom den kan vara tom då och då. Den hålls tom av program såsom t.ex Norton internet securtiy ...
Du kan kolla om den finns och isf använda den, men glöm inte att ha en fungerade backupfunktion bara :)

Permalänk: https://www.webforum.nu/p/1655908

## #5 — lillebror, 2005-08-11T12:28Z

Tror jag förstår vad du är ute efter.

För varje sida kommer jag ju vara tvungen att skapa en unik redirect-sträng som jag matar $\_SESSION med. Så långt tänker vi lika?

För alla sidor som inte har någon querystring kan man ju skriva som du har skrivit:

```php
$_SESSION["activepage"] = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
```

På en sida som visar aktuella trådar i ett forum förekommer det ju två variabler i querystringen. Då skriver jag så här:

```php
$_SESSION["activepage"] = "http://".$_SERVER['HTTP_HOST']."/".$redirect[1]."/".$redirect[2]."?threadID=".$_GET['threadID']."&forumID=".$_GET['forumID'];
```

Är inte det rätt?

Kan du ge ett kort förklarande exempel när if-satsen kommer till sin rätt? :)

```php
if($_SERVER['QUERY_STRING']>' ') $_SESSION["activepage"] .= "?".$_SERVER['QUERY_STRING'];
```

Permalänk: https://www.webforum.nu/p/1655928

## #6 — Kent.J, 2005-08-12T21:02Z

Jo, det är väl rätt.
Men hur vet du att personen kommer ifrån en sida som visar en tråd. Tänk om personen kommer ifrån ett forum istället? Tänk ifall den kommer ifrån... ja... fantisera...

Därav är php_self + query_string både lättare o bättre o använda ... den tar ut hela adressen oavsätt vart man kom ifrån.

Permalänk: https://www.webforum.nu/p/1656420

---

Tråden på webben: https://www.webforum.nu/amne/php/132597-redirect-funktion
