Avatar billede foght Nybegynder
11. april 2003 - 17:59 Der er 15 kommentarer og
2 løsninger

session i en include fil

Jeg har problemer med at få en session frem i en include fil. Det er ligesom den ikke ikke kan huske variablerne i include filen.
Includsene bliver kaldt i min index.php fil alt efter hvad brugeren gør på siden.
Her registrerer jeg mine variabler.

$_SESSION['id']= $rs1->fields[webbruger_id];
$_SESSION['fornavn']= $rs1->fields[fornavn];
$_SESSION['efternavn']= $rs1->fields[efternavn];
$_SESSION['user']= $rs1->fields[brugernavn];
$_SESSION['logged_ind']= 'true';

Det virker fint på selve index siden hvor jeg også bruger enkelte af disse variabler, men ikke på include siden.

Jeg har prøvet at kalde session_start(); i include filen, men det hjalp ikke. Den står selvf. øverst på index.php siden.

Håber ikke det er for forvirrende. Jeg kan godt poste mere kode hvis det er nødvendigt, men ville bare lige høre om der er andre der har erfaring med dette først.
Avatar billede tipsen Nybegynder
11. april 2003 - 19:11 #1
Er de ikke til rådighed i en funktion i include-filen eller bare på "almindeligt niveau" i include-filen?
Avatar billede foght Nybegynder
11. april 2003 - 19:16 #2
hov.. der vrøvlede jeg vist. Mente at jeg registrerer mine variabler i index.php filen.
Avatar billede tipsen Nybegynder
11. april 2003 - 19:28 #3
?
Avatar billede foght Nybegynder
11. april 2003 - 19:35 #4
altså...
i index.php er der en funktion der registrerer de variabler. Andetsteds i samme fil er der nogen if sætninger der includer filer alt efter hvilket punkt brugeren har valgt i menuen. Og det er i disse include filer jeg har problemer med at læse variablerne.
Håber det er til at forstå nu.
Avatar billede tipsen Nybegynder
11. april 2003 - 20:33 #5
Jeg er helt med og har været det hele tiden - jeg spørger så om du i de filer du inkluderer benytter dig af $_SESSION['varnavn'] i eller uden for funktioner?

-og et ekstra spørgsmål lyder så på om du har testet $_SESSION i index.php - for at se om det rent faktisk fungerer dér?
Avatar billede foght Nybegynder
11. april 2003 - 21:23 #6
okay jeg tror jeg forstår dig nu. Nej jeg har ikke brugt $_SESSION['varnavn'] i de filer jeg har inkluderet.

og mine sessions fungerer i index.php. Jeg har fået skrevet 'user' ud.
Avatar billede tipsen Nybegynder
12. april 2003 - 00:20 #7
...nu forstår jeg ingenting... - bruger du slet ikke session-variablene i de filer du inkluderer - hvad er så problemet?

-hvordan inkluderer du de omtalte filer?
Avatar billede foght Nybegynder
12. april 2003 - 00:50 #8
ikke lige på den måde.. jeg har en session_start(); i toppen af min inkluderede fil. Men jeg har bare echoet $user f.eks. Det virker fint på index.php, men ikke på de inkluderede filer.
jeg inkluderer dem sådan her:
    if($_GET['sektion']=="hold"){
    include "includes/hold.inc.php";
    }
    elseif($_GET['vis_spiller']){
    include "includes/spiller.inc.php";
    }
    elseif($_GET['sektion']=="historie"){
    include "includes/historie.inc.php";
    }
kun nogen af dem jeg lige tog med her
Avatar billede foght Nybegynder
12. april 2003 - 00:52 #9
jeg misforstod dig nok tidligere. Troede du mente om jeg havde registreret den samme session variabel flere gange.
Avatar billede tipsen Nybegynder
12. april 2003 - 10:59 #10
og du kan ikke udskrive $_SESSION['user'] i de inkluderede filer? (Eller rettere sagt, har den ikke noget indhold længere?)
Avatar billede foght Nybegynder
12. april 2003 - 11:01 #11
genau.. der er intet indhold længere.. men jeg tror måske jeg har fundet løsningen. Så jeg vil lige teste det, og så vender jeg tilbage senere.
Avatar billede tipsen Nybegynder
12. april 2003 - 11:10 #12
Det er lidt mystisk - jeg har testet det samme herhjemme - og det fungerer fint - selv, hvis jeg smider $_SESSION['var'] ind i en funktion kender php den stadig - så jeg forstår ikke helt, hvad der går galt hos dig.
Avatar billede foght Nybegynder
12. april 2003 - 11:17 #13
min teori er at jeg benytter mig af funktioner i include filerne. Derfor tror jeg at jeg skal have sendt session-variablerne med i funktionerne. Ellers er jeg også lidt blank
Avatar billede foght Nybegynder
12. april 2003 - 11:22 #14
Det var lige nøjagtig det der var problemet.
I min include fil kaldte jeg denne funktion:
vis_nyhed($vis_nyhed);

Men jeg skulle jo så også lige have session variablerne med:
vis_nyhed($vis_nyhed,$id,$logged_in);

Så virkede det

Men du skal have tak for hjælpen og din tålmodighed med mine umulige forklaringer ;) Hvis du smider et svar giver jeg gerne nogen af pointene
Avatar billede tipsen Nybegynder
12. april 2003 - 22:58 #15
Hehe - prøv at læse min første kommentar:

"Er de ikke til rådighed i en funktion i include-filen eller bare på "almindeligt niveau" i include-filen?"

Når du så ikke var helt med på den, gik jeg udfra, at det med funktioner ikke var noget du gjorde det store i... :-)
Avatar billede foght Nybegynder
12. april 2003 - 23:47 #16
ah.. kan godt så hvad du mener nu. jeg forstod så ikke lige helt meningen med det. Er også først lige begyndt at rode med funktioner, så jeg er ikke helt inde i det endnu.
Avatar billede tipsen Nybegynder
13. april 2003 - 11:40 #17
Det er jo godt nok - så begynder du at lære noget om variable-scope - dvs. variables virke-område - det var netop det mine første kommentarer gik på - for at afgøre om problemet måske skulle findes der :-)
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