Strona 1 z 1

[php] Nie działają u mnie sesje ?

: śr lip 28, 2004 5:14 pm
autor: cwiru
Mam 2 takie przykładowe pliki . W jednym z nich rejestruje zmienną i przekierowuję się na drugą stronę. Na drugiej chcę odczytać tą zarejestrowaną zmienną.

Kody PHP:

plik zapis.php
[php]<?php
session_start();
$_SESSION['name'] = "byleco" ;
header("Location : http://localhost/odczyt.php");
exit();
?>[/php]

plik odczyt.php
[php]<?php
session_start();
if(!isset($_SESSION['name']))
{
print("brak sesji");
}
else
{
echo "<p> Witaj {$_SESSION['name']} </p>";
}
?>[/php]

Po odpaleniu pliku zapis.php przekierowuje mnie i pokazuje komunikat brak sesji. Nie wiem jak sobie z tym poradzić. Katalog na sesje mam ustawiony na /tmp i widzę tam że w jednym pliku rejestruje mi tą zmienną , ale po przejściu na tą drugą stronę już jej nie pamięta.
To już zaczyna być dla mnie denerwujące bo nie mam pojęcia co jest nie tak. Wygląda na to , że zamiast "kontynuować" sesję w pliku odczyt.php skrypt tworzy nową sesję. Może ktoś pomóc ?

Re: [php] Nie działają u mnie sesje ?

: czw lip 29, 2004 2:13 pm
autor: the_foe
sprawdz php.ini. wlacz wrzucanie identyfikatora sesji do GETa, sprawdz tez czy masz wlaczone cookiesy.

Re: [php] Nie działają u mnie sesje ?

: sob lip 31, 2004 12:18 am
autor: cwiru
Podam moje bieżące (niektóre) ustawienia dotyczące sesji :

  • session.save_path = /tmp
    session.use_cookies = 1
    session.name = PHPSESSID
    session.auto_start = 0
    session.cookie_lifetime = 0
    session.cookie_path = c:/Documents and Settings/Administrator/Cookies
    session.cookie_domain = c:/Documents and Settings/Administrator/Cookies
    session.use_trans_sid = 0
Czy takie ustawienia w pliku php.ini są przyczyną nieprawidłowości ?
Może ścieżka określająca lokalizację cookies ma być inna ?
W tej lokalizacji znajdują się moje wszystkie cookies, natomiast strony odpalam z Apache/../htdocs/
Poza tym chciałbym się obejść bez identyfikatora sesji. Po prostu żeby obsługa sesji działała tak jak to widzę w manualu do PHP

Re: [php] Nie działają u mnie sesje ?

: pn sie 02, 2004 4:03 am
autor: wixor
[php]<?php
session_start();
/* !!! */ session_register('name'); /* !!! */
$_SESSION['name'] = "byleco" ;
header("Location : http://localhost/odczyt.php");
exit();
?>[/php]

Re: [php] Nie działają u mnie sesje ?

: pn sie 02, 2004 4:32 am
autor: Wojciech Kocjan
Sprobuj dac tak:

Kod: Zaznacz cały

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

Mam chyba IDENTYCZNY problem

: wt sie 03, 2004 3:19 am
autor: Zenobi
Mam chyba IDENTYCZNY problem więc pewnie to jakaś bardziej powszechna sprawa…

Mam kłopot z przekazywaniem zarejestrowanych poprzez mechanizm sesji zmiennych - session_register(„zmienna”). Gdy usiłuję ja odczytać poprzez (PHP 4.3x) $zmienna=$_SESSION[„zmienna”]; zawsze otrzymuję zmienną o wartości NULL.

Problem występuje tylko na moim domowo-roboczym serwerze. Na komercyjnych serwerach wszystko jest OK!
Czy ktoś wie jak rozwiązać ten problem? Grzebałem w różnych ustawieniach i nic…

Re: [php] Nie działają u mnie sesje ?

: wt sie 03, 2004 9:47 am
autor: the_foe
wixor pisze:[php]<?php
session_start();
/* !!! */ session_register('name'); /* !!! */
$_SESSION['name'] = "byleco" ;
header("Location : http://localhost/odczyt.php");
exit();
?>[/php]
a po co 3 linia? skoro czwarta robi to samo, i lepiej, bo przy register_globals=off funkcja session_register() nie dziala.

Re: [php] Nie działają u mnie sesje ?

: wt sie 03, 2004 5:45 pm
autor: wixor
Po to, żeby zaczęło działać! wiem, bo sam miałem daawno temu ten problem - nie wystarczy zapisać zmienną do tablicy, trzeba najpierw powiedzieć php, że taka zmienna ma w obóle w sesji występować... odsyłam do manuala

Re: [php] Nie działają u mnie sesje ?

: wt sie 03, 2004 5:59 pm
autor: the_foe
wixor pisze:Po to, żeby zaczęło działać! wiem, bo sam miałem daawno temu ten problem - nie wystarczy zapisać zmienną do tablicy, trzeba najpierw powiedzieć php, że taka zmienna ma w obóle w sesji występować... odsyłam do manuala
niestety, gadasz bzdury. session_register(), zostawiono wylacznie dla zgodnosci skryptow. Od PHP 4.1.0 uzywa sie po prostu wpisu do superglobalnej $_SESSION. Zreszta masz tu wyciag z manulala:
Przy użyciu $_SESSION (lub $HTTP_SESSION_VARS) nie powinno się używać session_register(), session_is_registered() i session_unregister().
cytat oczywiscie z oficjalnego manula : [manual]session_register[/manual]

Re: [php] Nie działają u mnie sesje ?

: wt sie 03, 2004 9:08 pm
autor: wixor
Cóż, może i bzdury, ale wiem, że jak dodałem kiedyś tam dawno temu to ruszyło, a jak wywaliłem to spowrotem przestało działać... A php było 4.3.x ......

Re: [php] Nie działają u mnie sesje ?

: śr sie 04, 2004 4:29 am
autor: the_foe
wixor pisze:Cóż, może i bzdury, ale wiem, że jak dodałem kiedyś tam dawno temu to ruszyło, a jak wywaliłem to spowrotem przestało działać... A php było 4.3.x ......
hmm, ciekawe rzeczy opowiadasz, tylko szkoda ze absolutnie niemozliwe. Zrozum ze register_session to nie ta bajka. W zyciu nie uzylem tej funkcji, a sesje dzialaja mi bez zarzutu.