/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hente sessions i en inkluderet fil?
Fra : Niels


Dato : 16-12-05 18:28

Har et problem med det login-system jeg er igan med at udvikle:
http://niels.spoweb.dk
Som i kan se over til højre (Brugernavn: test, Kodeord: 1234) så forsvinder
minformular ikke, selvom den har gemt sessionen i login.php, den kommer når
jeg logger ind fra min højre menu:
http://niels.spoweb.dk/template/pagebottom.php.
Det vil atlså sige at den er ligeglad med sessions når filen inkluderes i et
andet dokument?
Synes selv at jeg efterhånden har haft rimeligt mange problemer med
include() og require(), f.eks hvor den også ignorerede en inkluderet fil i
den inkluderede fil.

Hvad er der galt med include? Er der en måde jeg kan hente sessions?

--
/Niels (Webmaster on NooP Web - www.niels.spoweb.dk - English:
www.niels.spoweb.dk/language.php?l=eng)



 
 
Jesper H (17-12-2005)
Kommentar
Fra : Jesper H


Dato : 17-12-05 04:51

Hej Niels

Jeg har ikke selv oplevet problemer med include(), og heller ikke med
nestede include() kald (include() i en inkluderet fil). Det kan dog
bliver noget rod, hvis man ikke holder styr på hvad mappe filerne
ligger i. Sørg for at have fejlmeddelelser slået til, hvis du synes
det ikke virker korrekt - include kører jo bare videre, hvis den ikke
kan finde filen, hvilket kan være uhensigtsmæssigt.

Det burde ikke umiddelbart være et problem med sessions, heller ikke
når du bruger include() - men det er lidt svært at bedømme, når du
ikke har noget eksempel kode? De typiske fejl er noget med at der
bliver skrevet f.eks. mellemrum eller andre tegn ud fra php-koden før
man kører session_start(). Der står lidt om det her:
http://dk2.php.net/manual/en/function.session-start.php
Måske det kan løse dit mysterium? F.eks. tror jeg at du sætter
session_start i din pagebottom.php, men at du skriver til output i den
fil, hvor du inkluderer pagebottom.php fra, før den bliver inkluderet
- så virker den kun når den bliver kørt for sig selv. Ellers er jeg
i alt fald nok nødt til at se lidt kode for at kunne hjælpe.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Niels (17-12-2005)
Kommentar
Fra : Niels


Dato : 17-12-05 07:43

"Jesper H" <jesper.haukrogh@gmail.com> skrev i en meddelelse
news:1134791469.906172.90840@g14g2000cwa.googlegroups.com...
>...
>F.eks. tror jeg at du sætter
>session_start i din pagebottom.php, men at du skriver til output i den
>fil, hvor du inkluderer pagebottom.php fra, før den bliver inkluderet
>- så virker den kun når den bliver kørt for sig selv. Ellers er jeg
>i alt fald nok nødt til at se lidt kode for at kunne hjælpe.

Der har vi nok fejlen. Hm ja, så er der jo også en løsning. Tak for svaret,
håber det virker



Niels (17-12-2005)
Kommentar
Fra : Niels


Dato : 17-12-05 07:58

/Niels (Webmaster on NooP Web - www.niels.spoweb.dk - English:
www.niels.spoweb.dk/language.php?l=eng)
"Niels" <niels@spoweb.dk> skrev i en meddelelse
news:43a3b35f$0$15787$14726298@news.sunsite.dk...
> "Jesper H" <jesper.haukrogh@gmail.com> skrev i en meddelelse
> news:1134791469.906172.90840@g14g2000cwa.googlegroups.com...
>>...
>>F.eks. tror jeg at du sætter
>>session_start i din pagebottom.php, men at du skriver til output i den
>>fil, hvor du inkluderer pagebottom.php fra, før den bliver inkluderet
>>- så virker den kun når den bliver kørt for sig selv. Ellers er jeg
>>i alt fald nok nødt til at se lidt kode for at kunne hjælpe.
>
> Der har vi nok fejlen. Hm ja, så er der jo også en løsning. Tak for
> svaret, håber det virker
>

Hm nej det virkede ikke i mit samlede system, men jeg ville godt prøve om
det ivirkeligheden burde virke. Så jeg prøvede med
http://niels.spoweb.dk/tester/index.php der virker det faktisk :S
Altså må det være en anden fejl i min kode, nå jeg kigger det igennem nu



Niels (17-12-2005)
Kommentar
Fra : Niels


Dato : 17-12-05 12:58

"Niels" <niels@spoweb.dk> skrev i en meddelelse
news:43a3b70f$0$15789$14726298@news.sunsite.dk...
> /Niels (Webmaster on NooP Web - www.niels.spoweb.dk - English:
> www.niels.spoweb.dk/language.php?l=eng)
> "Niels" <niels@spoweb.dk> skrev i en meddelelse
> news:43a3b35f$0$15787$14726298@news.sunsite.dk...
>> "Jesper H" <jesper.haukrogh@gmail.com> skrev i en meddelelse
>> news:1134791469.906172.90840@g14g2000cwa.googlegroups.com...
>>>...
>>>F.eks. tror jeg at du sætter
>>>session_start i din pagebottom.php, men at du skriver til output i den
>>>fil, hvor du inkluderer pagebottom.php fra, før den bliver inkluderet
>>>- så virker den kun når den bliver kørt for sig selv. Ellers er jeg
>>>i alt fald nok nødt til at se lidt kode for at kunne hjælpe.
>>
>> Der har vi nok fejlen. Hm ja, så er der jo også en løsning. Tak for
>> svaret, håber det virker
>>
>
> Hm nej det virkede ikke i mit samlede system, men jeg ville godt prøve om
> det ivirkeligheden burde virke. Så jeg prøvede med
> http://niels.spoweb.dk/tester/index.php der virker det faktisk :S
> Altså må det være en anden fejl i min kode, nå jeg kigger det igennem nu
>

Har fået det til at virke, jeg mådte simpelthen ikke inkludere via URL'en:
http://niels.spoweb...
Skal jeg så huske...



Jesper H (17-12-2005)
Kommentar
Fra : Jesper H


Dato : 17-12-05 13:45

Tillykke med sejren

Inde på http://dk2.php.net/manual/en/function.include.php står der:
"If "URL fopen wrappers" are enabled in PHP (which they are in the
default configuration), you can specify the file to be included using a
URL (via HTTP or other supported wrapper - see Appendix M for a list of
protocols) instead of a local pathname. If the target server interprets
the target file as PHP code, variables may be passed to the included
file using a URL request string as used with HTTP GET. This is not
strictly speaking the same thing as including the file and having it
inherit the parent file's variable scope; the script is actually being
run on the remote server and the result is then being included into the
local script. "

Så vidt jeg forstår det, så kan den server, man henter fra når man
inkluderer med en URL, finde på at parse PHP-koden til HTML ligesom
det jo er meningen når man besøger siden - også selvom serveren er
den samme, som den hvorpå man inkluderer filen. Derfor bruger man en
local fil-sti i stedet - så undgår du at koden bliver kørt før den
bliver inkluderet.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste