Avatar billede vardox Nybegynder
22. januar 2006 - 21:19 Der er 15 kommentarer og
1 løsning

session cookie lokalt

Hey

Jeg har lige installeret Apache 1.3.34 og php4.4.2. Det kører fint, men jeg kan ikke få serveren til at huske sessionID'et. Jeg register_globals=on, use_cookies=on, use_only_cookies=on og jeg har sågar prøvet at sætte trans-id, men der sker ingenting. Filerne genereres det rigtige sted og der kommer også data i dem - serveren kan bare ikke huske, hvilket ID man har.

Nogle forslag?

Serveren viser i øvrigt alle fejl og notices, og der kommer ingenting.

Patrick
Avatar billede whatever Nybegynder
22. januar 2006 - 21:34 #1
Har du husket at benytte session_start() i starten af dine php-filer?

Hvordan kan det være, at benytter use_only_cookies ?
Avatar billede vardox Nybegynder
22. januar 2006 - 21:36 #2
Jeg har session_start() - ellers ville den jo ikke oprette filer og smide data i disse ;o)

Jeg rendte ind i noget bøvl med den server jeg bruger offentligt, og det kunne kun løses med use_only...
Avatar billede vardox Nybegynder
22. januar 2006 - 21:38 #3
Slog lige use_only.. fra, men det ændrede ikke noget.
Avatar billede johan.o Nybegynder
23. januar 2006 - 09:35 #4
Du bliver nok nød til at vise et kode eksempel, så vi kan fastslå om fejlen ligger i koden eller opsætningen :)

Mvh. Johan
Avatar billede computopic Nybegynder
23. januar 2006 - 11:07 #5
Inde i php.ini skal du sætte temp kataloget.. det burde fixe det!
Avatar billede radion Nybegynder
23. januar 2006 - 12:36 #6
ja, enten i inifilen, ellers skal du lige førs session_start(); skrive session_save_path("c:\\TEMP"); eller hvilen sti du nu vil bruge

altså:
session_save_path("c:\\TEMP");
session_start();

så er den der mester :)

\Frode
Avatar billede vardox Nybegynder
23. januar 2006 - 22:36 #7
save_path er sat, og filerne bliver genereret. Der bliver bare ikke sat en cookie med et ID - og cookies er aktiveret i min browser ;o)

Der er ikke rigtig noget kodeeksempel... Jeg benytter mig af $_SESSION[index] til at sætte og læse værdier, og jeg kan se at disse sættes fint. Jeg kan både aflæse dem i det pågældende script og se værdierne i session-filerne, men systemet sender ikke noget ID rundt, og den opretter derfor en ny session på hver side. Dette forstår jeg ikke, da jeg netop har sat use_cookies, save_path osv.

Patrick
Avatar billede vardox Nybegynder
23. januar 2006 - 22:41 #8
Kan det evt. være opsætningen af cookies på serveren?

<snip fra php.ini>
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
</snip>

Har prøvet at sætte domain til 127.0... men det ændrede ikke noget.

Patrick
Avatar billede vardox Nybegynder
23. januar 2006 - 23:10 #9
Har lige leget lidt med cookies...

echo setcookie('testing','blaaa')."<br>".$_COOKIE['testing']."<br>";

Jeg får kun en bool true fra setcookie. Intet indhold, og min browser (opera) kender heller ikke noget til den pågældende cookie.
Avatar billede johan.o Nybegynder
23. januar 2006 - 23:41 #10
Det kode stykke du viser der, virker naturligvis ikke selvstændigt.

Når du sætter en cookie med setcookie(), eksisterer cookie'en først når siden sendes til serveren...cookie'en ligger jo i header informationen. Derfor bør du gøre således hvis du vil sætte en cookie :

page_setcook.php -->

<?php

setcookie("Test", "Indhold");
header("location: page_readcook.php");

?>

page_readcook.php -->

<?php

if(isset($_COOKIE['Test'])) {
echo "Indholdet af cookie'en er : ".$_COOKIE['Test']; }

?>

Med hensyn til session's problemet har jeg kigget i min egen php.ini og kom i tanke om at jeg selv skulle tilføje denne :

session.save_path = c:/phptmp

Derudover ser resten af de settings du nævner fine ud, der skulle du ikke behøve ændrer noget, men du har vel flere ting i din php.ini omkring session settings.

Mvh. Johan
Avatar billede johan.o Nybegynder
24. januar 2006 - 00:00 #11
Hov, læste lige tidligere indlæg igen....session.save_path er sat står der jo..sorry :)

Mvh. Johan
Avatar billede johan.o Nybegynder
24. januar 2006 - 00:04 #12
Hm, her er alt hvad jeg har aktiveret i min php.ini omkring sessions, prøv at se om det kan hjælpe dig. Ellers er jeg ved at være blank :)

[Session]
session.save_handler = files
session.save_path = c:/phptmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_dividend    = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0

Mvh. Johan
Avatar billede vardox Nybegynder
24. januar 2006 - 00:12 #13
Det er også (udover save_path) sådan mine indstillinger ser ud lige pt.

Dummede mig selvfølgelig lige med de cookies der, men din kode ændrede nu ikke noget. Hverken output til min skærm eller min cookie-list :o(

Patrick
Avatar billede vardox Nybegynder
24. januar 2006 - 20:48 #14
Pinligt. Det viser sig at det er min firewall (Zonealarm) der bitcher - på trods af at den har fået fuld adgang :o(

Jeg er ked af at have spildt jeres tid... men mange tak for jeres hjælp :o)

Patrick
Avatar billede johan.o Nybegynder
24. januar 2006 - 20:53 #15
He he, no worries :)

Mvh. Johan
Avatar billede radion Nybegynder
25. januar 2006 - 13:07 #16
Lol, sådan kan det jo gå :)
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