webForumDet fria alternativet

session/includes

4 svar · 210 visningar · startad av ikaros

ikarosMedlem sedan juni 2000114 inlägg
#1

Hej!

Jag har en sessionvariabel som sätts till användarnamnet och id-numret när någon loggar in.
Jag har sedan en fil som jag includar med absolut sökväg, vilket gör att jag itne kommer åt värdet på sessionvariabeln i include-filen. Vet någon hur jag kan komma runt detta, det är oerhört irriterande.
Jag kan inte ha relativ sökväg till includefilen eftersom jag includar den från flera filer i olika kataloger.

Tack på förhand.

------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm

RobbanMedlem sedan dec. 19992 555 inlägg
#2

Gärna lite kodexempel. Förstår inte alls hur du menar.

------------------
Robban < robban@lipogram.com >

ikarosMedlem sedan juni 2000114 inlägg
#3

ok.

Här includar jag en fil.

<?php
include("http://$HTTP_HOST/includes/topmeny.phtml");
?>

I filen topmeny.phtml vill jag komma åt värdet på en sessionvariabel. Men det går konstigt nog inte. Däremot kan jag göra det i andra filer som jag includar med relativ sökväg, t.ex:

<?php
include("includes/botten.phtml")
?>

Det är ju likadant med vanliga variabler. Alltså, om man includar med relativ sökväg så kommer man åt variblerna som sätts innan include-raden, men inte om man använder absolut sökväg.

ex.

$var = "hej";
include("fil.php");

fil.php:

echo $var; // skriver ut "hej".

använder man däremot absolut sökväg måste man göra såhär:

$var = "hej";
include("fil.php?var=$var");

fil.php:

echo $var; // skriver ut "hej".

Hoppas jag är tydlig nog. Svårt att förklara.

------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm

RobbanMedlem sedan dec. 19992 555 inlägg
#4

Beror på att du inte alls använder en absolut sökväg, utan en URL. Använd en lokal, absolut sökväg så fungerar det.

Inkluderar du en URL så körs PHP-scriptet innan det inkluderas, så allt som syns är resultatet - inte själva PHP-koden. Och följdaktligen så kan inte PHP veta något om de eventuella variabler som finns i topmeny.phtml (allt PHP ser är det som skrivs ut).

------------------
Robban < robban@lipogram.com >

ikarosMedlem sedan juni 2000114 inlägg
#5

Tack!

Jag kör nu en

include("$DOCUMENT_ROOT/includes/topmeny.phtml");

istället, och det funkar utmärkt! Du anar inte hur mycket detta underlättar! TACK TACK TACK!!

*jublar*

------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm

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