Gärna lite kodexempel. Förstår inte alls hur du menar.
------------------
Robban < robban@lipogram.com >
4 svar · 211 visningar · startad av ikaros
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
Gärna lite kodexempel. Förstår inte alls hur du menar.
------------------
Robban < robban@lipogram.com >
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
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 >
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