Avatar billede Slettet bruger
29. november 2003 - 12:19 Der er 8 kommentarer og
1 løsning

Brug af variabel på alle sider

Hej

Jeg har en hjemmeside med en masse undersider.

Uanset hvilken af siderne man er på, er det muligt at logge på, hvilket så vil give adgang til ekstra oplysninger på alle undersiderne.

Jeg har tidligere brugt $http_referer for at få folk til at vende tilbage til den side de stod på, efter de har logget ind.

Efter at have læst en del om $http_referer, er jeg kommet i tvivl om, om denne funktion vil fungere HVER gang.

Mit ønske var at definere en $returningpage som vil indeholde værdien af den side brugeren er på, når vedkommende logger på.
Eks. hvis brugeren er på \sider\spillere.php?show=info vil dette også være værdien af variablen.

Jeg har leget lidt med global = $returningpage, men kan ikke få det til at fungere.

Hvad kan jeg gøre for at brugeren ALTID vil opleve at det at logge på, vil bringe vedkommende tilbage til den side han/hun stod på, da han/hun indtastede sit brugerid og kodeord?
Avatar billede detox Nybegynder
29. november 2003 - 12:38 #1
Du kunne lægge værdien i en session.
Avatar billede detox Nybegynder
29. november 2003 - 12:46 #2
Fx:
session_start();
$_SESSION['retur'] = $_SERVER['PHP_SELF'];
Avatar billede detox Nybegynder
29. november 2003 - 12:48 #3
På login-siden bruger du så header(), eller laver et link:
session_start();
echo "<a href='".$_SESSION['retur']."'>retur</a>";
Avatar billede Slettet bruger
29. november 2003 - 16:10 #4
Hvis jeg bruger dit forslag, og sætter $_SERVER['PHP_SELF'] som værdien af session-værdien, er det så 100% sikkert?
Altså vil det fungere HVER eneste gang???

Hvad er forskellen på $SERVER['PHP_SELF'] og så HTTP_REFERER??
Avatar billede detox Nybegynder
29. november 2003 - 16:26 #5
Ja, jeg har ikke hørt om problemer ift.: $_SERVER['PHP_SELF'].
Forskellen på de to er først og fremmest at: HTTP_REFERER bliver hentet via browseren og ikke alle browsere medsender denne oplysning, ligesom at det er muligt at ændre denne værdi i nogle browsere.
Avatar billede detox Nybegynder
29. november 2003 - 16:45 #6
men i virkeligheden kunne det være du skulle bruge en konstant istedet, der får du nemlig den absolutte sti og det er jo nødvendigt, hvis du befinder dig i forskellige dirs.

$_SESSION['retur'] = realpath(__FILE__);
Avatar billede detox Nybegynder
29. november 2003 - 16:59 #7
Hmmm, næ det virker ikke særligt godt med __FILE__. Men jeg kan ikke finde nogen problemer med: $_SERVER['PHP_SELF']. Ellers kunne du overveje: $_SERVER['REQUEST_URI'], den bliver så vidt jeg ved osse leveret af serveren. Og det er måske i realiteten det mest korrekte.
Avatar billede rackbox Nybegynder
29. november 2003 - 23:47 #8
HTTP_REFERER er den side, der har linket til nuværende side
PHP_SELF er den side, som der bliver kørt php fra nu

Himmelvid forskel, skulle jeg mene ;-)
Avatar billede Slettet bruger
29. november 2003 - 23:55 #9
Ved at bruge PHP_SELF kommer variablerne ikke med over.

Eks. "/sider/spillere.php?show=info" bliver til "/sider/spillere.php".

Ved at bruge $_SERVER-delen fungerer det derimod.

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
Vi tilbyder markedets bedste kurser inden for webudvikling

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