Sesje raz jeszcze...

0

Panowie przeszukalem wlasnie forum ale nie ma opisu sesji dla "laika" ja w sumie zaczynam zabawe z sesjami i nie bardzo umiem znaleŹĆ posty dzieki ktorym stalbym sie oswiecony.
Wiec moze tak:
Jest plik 1.php3 ktory ma pole formularza o nazwie "imie" i to imie chce przekazac za pomoca sesji to innego pliczku np. 2.php3 jak to zrobic ?

0
$imie = $HTTP_POST_VARS['imie']; ($_POST['imie'])
session_start();
session_register('imie');

a na innej stronie jak chcesz odczytac to dajesz:

session_start();
$imie = $HTTP_SESSION_VARS['imie']; ($_SESSION['imie'])
0

$imie = $HTTP_POST_VARS['imie']; ($_POST['imie'])
session_start();
session_register('imie');

a na innej stronie jak chcesz odczytac to dajesz:

session_start();
$imie = $HTTP_SESSION_VARS['imie']; ($_SESSION['imie'])

Wszystko dziala ale pojawia sie komunikat:
Warning: Cannot send session cookie - headers already sent by (output started at ...

Warning: Cannot send session cache limiter - headers already sent (output started at .. )

Plikiem glownym u mni ejest plik main.php3 i cala reszta dolacza do niego przez includy i zrobilem to tak ze do glownego pliku dolaczylem kod:
$imie = $HTTP_POST_VARS['imie']; ($_POST['imie'])
session_start();
session_register('imie');

I ? :)

0

standard ;)
zobacz funkcje sluzacze do buforowania danych: ob_flush i inne takie duperele. odpalasz taka funckje buforujaca i juz nie bedzie Ci pisalo ze naglowki zostaly wyslane i nie mozna wyslac nowych or dodac czegos do naglowkow ;)

podobny topic juz gdzies byl na forum, ale ja radze manuala, wystarczy poczytac o funkjach zw. wlasnie z buforowaniem...

powodzenia :)

0

hmmm wszystko jest oki ale lokalnie natomiast po wgraniu na serwa cos jest z sesjami nie tak bo zmienna nie jest przekazywana , katalog tmp jest ustawiony domyslnie prawa odpowiednie sa nadane nie wyrzucane sa zadne bledy czyzbym cos przegapil ?

0

hmmm wszystko jest oki ale lokalnie natomiast po wgraniu na serwa cos jest z sesjami nie tak bo zmienna nie jest przekazywana , katalog tmp jest ustawiony domyslnie prawa odpowiednie sa nadane nie wyrzucane sa zadne bledy czyzbym cos przegapil ?
Sorry nie zalogowalem sie ;-)

0

może otwierasz stronę przez alias prv.pl albo jest po prostu w ramce ?
sprawdź czy masz w nagłówku ciacho od sesji.

0

może otwierasz stronę przez alias prv.pl albo jest po prostu w ramce ?
sprawdź czy masz w nagłówku ciacho od sesji.

fakt jest alias prv.pl i jest ramka :( ale odpalilem bez aliasa i sama stronke bez ramek i tez jest kapa. Na ramkach sesje nie chodza? troszke to bez sensu wszystkie stronki sa na ramkach ;-)

0

ramki to kicz i tylko poczatkujacy webmasterzy ich uzywaja... ;)

0

ramki to kicz i tylko poczatkujacy webmasterzy ich uzywaja... ;)

czyli require i include ?:)

0

czyli require i include ?:)

Tak, i oczywiście nieśmiertelne tabelki, które ułożą odpowiednio zawartość strony.

0

Loaklnie wszystko funkcjonuje jak najbardziej gut natomiast po wgraniu na serwa jest problem moze pokrotce przedstawie schemat strony.
Strona sklada sie z pliku 1.php3 gdzoe wpisujemy haslo dostania sie do forum (ogolne haslo bo forum ma byc tylko uzytkownikow lokalnych), nastepnie jest stronka main.php3 ktora jest strona glowna projektu do niej dolaczane sa poszczegolne czesci, ona steruje calym wgrywaniem poszczegolnych stronek i ma konstrukcje:
[code]
session_save_path('./tmp'); //otwieram sesje
$user_id = $HTTP_POST_VARS['user_id'];
session_register('user_id');
session_start();
print "<html> itd...." // malo wazne :)
switch($etap){
case "LOGIN":
include("login.php3");
break;
case "FORUM":
include("forum.php3");
break;
case "grupa":
include("grupa.php3");
break;

...
....
itd..

}
}
[/code]
1 etapem wejscia na stronke jest odpalenie w stronie main.php3 stronki LOGIN.php3 automatycznie do linku dolacza sie numer sesji i zmienna $user_id poprzez sesje przechodzi. W pliku login.php3 na poczatku mam ob_start(); oraz na koncu ob_end_flush(); do tej pory wszystko OK! .
Teraz po zalogowaniu wgrywa sie kolejna podstronka wybrana przez switcha jaka jest grupa.php3 Tutaj pojawiaja sie linki tematow forum ktore przekierowywuja do forum.php3 z odpowiednim nr tematu i wlasnie .... powinien sie dolaczac numer sesji jak jest w przypadku login.php3 ale tak nie jest sesja sie urywa i nie bardzo wiem o co chodzi. Na poczatku pliku grupa.php3 probowalem odczytac ta sesje:
[code]session_start();
$user_id = $HTTP_SESSION_VARS['user_id']; [/code]
ale tez to nic nie daje, mozecie cos poradzic czemu tak jest ?
Dodaje ze bledu zadnego nie wykazuje poza faktem ze w utworzonym katalogu tmp zapisywane sa sesje ale nie mozna ich przegrac ani odczytac recznie bo jest blad scioagania albo odczytu czyli hmm cos jest nie tak. Dzieki za ewentulane rady... Licze na WAS :)

Wlasnie teraz sprawdzilem i tak katalog moj gdzie mam sesje to tmp i ma ustawione prawa dostepu 777 natomiast pliki zapisane maja 600 czyli nawet nie mam prawa odczytu moze to o to chodzi ale nawet recznie nie da sie ich zmienic. hmmm

0

hehe pewnie ze tak :)

0

hehe pewnie ze tak :)

co pewnie ze tak ? :) bo nie wiem jak zrobic zeby sesje byly zapisywane z atrybutami 666 np bo prawa katalogu zmeinilem ale co dalej...

0

Panowie czemu on mi sesje zapisuje z atrybutami 600 ??? przeciez jak ich teraz nie moge odczytac jak to zmienic?

0

A moze mi ktos dac przyklad jak przy takim ukladzie projektu wsadzic jedna zmienna sesyjna , bo czytam czytam i juz nie wiem :)
Konfiguracja serwa odnosnie sesji:

session.use_trans_sid = 1
Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_fil no value no value
session.entropy_length 0 0
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On

0

Aby działały sesje potrzebne jest tylko session_start() . Adres przechowywania plików sesji jest konfigurowany przy instalacji php - na obcym serwerze w ogóle nie ma co zawracać sobie tym głowy, ani tym gdzie się znajduje, ani prawami do katalogu - dla użytkownika www katalog jest on dostępny i już. Możliwe zmienna na serwerze session_registered jest ustawiona na off - wtedy trzeba się odwoływać do zmiennych przekazanych w formularzach przez tablice HTTP_VAR_... - najlepiej zrobić funkcję przepisującą całą zawartość tych tablic do zmiennych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1