Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje
Forum PHP.pl > Forum > PHP
Seth
Chcialbym sie czegos dowiedziec o tym jak sie pisze sesje w php.
W tej dziedzinie jestem zielony, wiec prosze o wyrozumialosc :oops:
A i jeszcze jak by mi ktos powiedzial cos o streaming HTML'u to tez byl bym wdzieczny.
Mac
Cytat
Chcialbym sie czegos dowiedziec o tym jak sie pisze sesje w php.
W tej dziedzinie jestem zielony, wiec prosze o wyrozumialosc  :oops:  
A i jeszcze jak by mi ktos powiedzial cos o streaming HTML'u to tez byl bym wdzieczny.
Sam się na sesjach nie znam, ale wiem, że podstaw sesji można się nauczyć z manuala. smile.gif
castor
A czego tu sie uczyc o sesjach?
Pare funkcji i wsio.
http://pl.php.net/manual/pl/ref.session.php
Mac
Cytat
A czego tu sie uczyc o sesjach?
Pare funkcji i wsio. http://pl.php.net/manual/pl/ref.session.php

Oto właśnie mi chodziło. winksmiley.jpg
Seth
thx za url'a
a co ze streaming html'em :? jak to sie je :?: :?
Seth
Mam jeszcze jedno male pytanie.
Jak zamknac sesje gdy ktos zamknie przegladarke.
Czy trzeba uzyjc JS :?:

I jeszcze jedno czy przy zakladaniu nowego konta (wymagajcego 3 stron) sesje sa odpowiednim rozwiazaniem :?:
Jak dotad uzywalem hidden inputow winksmiley.jpg w formularzu.
Seth
Mistycus moze ty cos mi podpowiesz :?:
Mistycus
Sesji nie używam rolleyes.gif sad.gif
Seth
Ehhh... widze, ze chyba nikt dzisiaj mi nie pomoze sad.gif
Mistycus
Właśnie studiuję manuala o sesjach. jak coś załapę, to Ci spróbuję pomóc :wink:
Mistycus
Okazuje się, że sesje to banalna sprawa. Jakiej Ty właściwie potrzebujesz pomocy Seth? Jeśli chcesz jedynie odpowiedzi na pytanie:
Cytat
czy przy zakladaniu nowego konta (wymagajcego 3 stron) sesje sa odpowiednim rozwiazaniem :?:
, to ja uważam, że to idealne rozwiązanie, a jeśli masz jakiś konkretniejszy problem, to pytaj (może coś wykombinuję, a jeśli nie ja, to na napewno ktoś... ).

8)
castor
JA sesji nie uzywam!

Jezdze na ciachach biggrin.gif

wysylam ciacho do usera: w ciacho generuje losowy session_id

tak:
Kod
srand((double)microtime()*1000000);

          $session_id=md5(uniqid(rand()));    


ten sam numer zapisuje na serwerze do pliku i na kezdej stronece porownuje te dwa niumerki.

TERAZ jesli jest to administracja to robie button Wyloguj ktory kasuje ciacho lecz ustawiam waznosc ciacha rowniez na godzine i podaje informacje ze dlugosc sessi jest ograniczona do godziny.

jak to jest jakas strona o mnieszym stopniu zabezpieczenia to zostawiam bez czasu ale z haczykiem dla usera (cos w rodzaju jak phpbb) rozpoznaj mnie za kazdym razem. ustawiam na rok! jesli wstawi haczyk.


Tego problemu z zamknieciem okna nie mam bo przy ciachach odpada biggrin.gif
Seth
Castor to co opisales to wlasnie jest sesja. Z tego co przeczytalem w maualu wynika, ze sesje mozna robic w ciasteczkach.
Seth
Jak by ktos chcial sie dowiedziec jeszcze czegos o sesjach to znalazlem fajna stronke:
wdvl.internet.com/Authoring/Languages/php/Maintaining_state/

Juz wiem co to sa sesje, ale co ze STREAMING HTML :?:
castor
Cytat
Castor to co opisales to wlasnie jest sesja. Z tego co przeczytalem w maualu wynika, ze sesje mozna robic w ciasteczkach.


OK ale sesia na ciastkach ktora sam pisze, a ja mialem na mysli ze ni uzywam sessi podstawionych przez php :wink:

streaming HTML questionmark.gif nie wiem ale mysle ze to jest zwiazane z dynamicznym generowaniem stron HTML.

Tak tylko wnioskuje lecz moge sie mylic smile.gif
Seth
z tymi ciatkami to jest jeden maly problem: ktos moze je wylaczyc.
castor
to informujesz grzecznie userka ze jesli chce wejsc do strefy zamknietej to musi wlaczyc ciacha :wink:

Nie moge ci powiedziec jakie sa wady sesii w php ale wiem ze je maja albo mialy:))

wiec najlepjej uzywac ciach lub hiddenow :wink:
Seth
Wady sesji sa takie, ze jezeli uzywasz zmiennych jako register to moga byc problemy. Ale w nowej wersji php juz to sie zmienilo. Co do hiddenow to uzywalem ich ale np.: przechowywac caly czas haslo w hiddenie nie jest zbyt bezpieczne.
Ale kazdy ma swoj gust winksmiley.jpg
castor
nie przechowuje sie hasle w hidenach!!! ani w ciachach!!!!

dla tego generujesz jakies tam losowe id i tego uzywasz po poprawnym zalogowaniu do identyfikacji!!!
Seth
OK to byl tylko przyklad.
Ale wydaje mi sie, ze sesje to lepsze rozwiazanie, pozatym bardziej czytelne (mniej kodu).
castor
czy mniej :?: :?:
ja swoje sesje mam w funkcjach wiez tylo je wywoluje :wink:
GeoS
Sesje sa bardzo mile, zarowno w uzyciu, jak i pod innymi wzgledami.

Nie ma opcji manipulacji danymi w nich przechowywanymi (no niby jest, ale trzeba miec uprawnienia admina i dostep do katalogu serwera, gdzie sa trzymane pliki sesji).

Co do cookies - wysiadaja przy sesjach. Sesje dzialaja nawet wtedy, gdy gosc ma wylaczona obsluge cookies (ale z tego powodu przy nowych wejsciach na strone tworzone sa nowe sesje). SESID moze byc przekazywane w sposob transparentny dla klienta (widza strony).

Jak ktos mialby pytania odnosnie sesji, to niech pyta smile.gif
Seth
Cytat
SESID moze byc przekazywane w sposob transparentny dla klienta (widza strony).

No tak ale tylko wtedy gdy masz dostep do ustawien serwera. Na darmowych kontach to odpada sad.gif
GeoS
Cytat
No tak ale tylko wtedy gdy masz dostep do ustawien serwera. Na darmowych kontach to odpada sad.gif


To mozesz zastosowac przekazywanie SESID w sposob nietransparentny - dodajac go do kazdego linka i formularza. Nie jest to zbyt skomplikowane. Ta opcja jest widoczna chociazby na stronie www.php.pl smile.gif
itsme
Witam !!!
Ja to robie zupelnie inaczej,poniewaz sesje dzialaja tak jak chca i za wiele kontroli nad nim ja nie mam kozystam z bazy mySQL

ktos wchodzi na stronke oglada glada loguje sie
php: zapisuje rekord w tabeli o nastepujacych kolumnach
id, nick (unikatowy), czas (format cyfry niesformatowana wartosc czasu time()), nazwa_sesji (jakas wartosc losowa)
nastepnie za jkazdym razem nazwa_sesji jest wysylana w url w kazdym linku ktory ma byc kontrolowany w ten sposob pozbywam sie nie pewnosci czy przegladarka ma wlaczona obsluge ciasteczek (mniam)
oczywiscie przy kliknieciu wylogoj rekord jest kasowany i przy kliknieciu linku sprawdzany jest czas w rekordzie jezeli nie przektroczy danej wartosci (time() - czas > wartosc) to ok i czas jest poprawiany jezeli przekroczy to strona wygasla

jezeli cosik jest nie zrozumiale piszcie do mnie itsme@crs.pl
dvc
itsem: a jak ktoś się nie wyloguje tylko zamknie przegladarkę to co wtedy :?:
dane zostaną ununięte czy nie ?
jeśli nie to chyba się ponownie nie zaloguje, nie wspominajęc o tym że baza sie bedzie rozrastać chwastami :!: :?:
Nasa
Seth myślałem że umiesz wszystko. Jak Możesz uczyć Jedi/php biggrin.gif jak nie umiesz takiej prostej zeczy !!! biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif
GeoS
Cytat
No tak ale tylko wtedy gdy masz dostep do ustawien serwera. Na darmowych kontach to odpada sad.gif


Dzisiaj zasiegnalem wiedzy z fachowego zrodla (kochanego manuala) i:
1. "Notatka: Od php w wersji 4.0.3 opcja track_vars jest zawsze włączona."
2. "Istnieją dwie metody propagacji identyfikatora sesji:"
-Ciasteczka
-Parametry URL'a
3. "php może to robić 'przezroczyście' jeśli został skompilowany z opcją --enable-trans-sid. Jeśli włączysz tą opcję, względne URI zostaną automatycznie podmienione tak, aby zawierały identyfikator sesji. Możesz także użyć stałej SID która jest definiowana jeśli klient nie wysłał odpowiedniego ciastka. SID jest albo w postaci nazwa_sesji=id_sesji lub pustym stringiem."

Szczegoly: http://pl.php.net/manual/pl/ref.session.php
Mistycus
Cytat
Seth myślałem że umiesz wszystko. Jak Możesz uczyć Jedi/php  :D jak nie umiesz takiej prostej zeczy !!!  :D  :D  :D  :D  :D  :D  :D


aaevil.gif Weź się Nasa nie wtrącaj, bo zawsze mącisz :!:
itsme
Cytat
itsem: a jak ktoś się nie wyloguje tylko zamknie przegladarkę to co wtedy :?:  
dane zostaną ununięte czy nie ?
jeśli nie to chyba się ponownie nie zaloguje, nie wspominajęc o tym że baza sie bedzie rozrastać chwastami :!:  :?:


nie bedzie sie rozrastac za kazdym razem gdy strona zostanie wywolana
funkcja sprawdza jaki czas minal od ostarniego odswierzenia lub klikniecia na link przez zalogowanego usera jezeli ten czas jest wiekszy od powiedzmy 15 minut automatycznie rekord jest usuwany :)))
dalej te moje sesje dzialaja tylko i wylacznie przy zalogowaniu sie uzytkownika w ten sposob nie absorbuje pamieci sesjami nie musze juz myslec czy sesja zamknieta czy otwarta itp jezeli czegos nie rozumiesz zapraszam alll wyjasnie
dvc
itsme: ok, chyle głowe

niedługo też będę używał sesji, więc przydadzą mi się te cenne wskazówki i rozwiązania biggrin.gif

itsme: powiedz mi proszę w jaki sposób Twoja funkcja sprawdza czas o którym pisałeś
czy robi to okresowo - cron, czy w inny sposób ? miałem ostatnio problem, gdyż stworzyłem sobie bazę postgresql+php, w której codziennie
powiedzmy rano miała się wykonać pewna funkcja sprawdzająca dane w bazie i wysyłająca e-maila. Wiem, że można (bo czytałem) użyć do tego crona, który wykonywać będzie skrypt php czyli funkcję
Rozwiązałem to inaczej a mianowicie jeśli któraś osoba z firmy wejdzie na daną stronę funkcja się wykonuje, ale nie jetem osobiście zadowolony z tego rozwiązania, ale ważne że działa...
dvc
mam pewien pomysł :idea:
a może by zrobić podsumowania z danego forum :?:
Seth
Cytat
Seth myślałem że umiesz wszystko. Jak Możesz uczyć Jedi/php biggrin.gif jak nie umiesz takiej prostej zeczy !!! biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif

Tylko glupcy mysla, ze wszystko wiedza.
php to nie alfabet, ze mozna go sie nauczyc w 5 minut.

A ja nigdy nie mowilem, ze wiem wszystko :!:
kryr
Nikt na pamiec nie pamieta wszystkiego, ale kazdy powinien wiedziec, ze jest manual...
itsme
Cytat
itsme: ok, chyle głowe

niedługo też będę używał sesji, więc przydadzą mi się te cenne wskazówki i rozwiązania biggrin.gif

itsme: powiedz mi proszę w jaki sposób Twoja funkcja sprawdza czas o którym pisałeś
czy robi to okresowo - cron, czy w inny sposób ? miałem ostatnio problem, gdyż stworzyłem sobie bazę postgresql+php, w której codziennie
powiedzmy rano miała się wykonać pewna funkcja sprawdzająca dane w bazie i wysyłająca e-maila. Wiem, że można (bo czytałem) użyć do tego crona, który wykonywać będzie skrypt php czyli funkcję
Rozwiązałem to inaczej a mianowicie jeśli któraś osoba z firmy wejdzie na daną stronę funkcja się wykonuje, ale nie jetem osobiście zadowolony z tego rozwiązania, ale ważne że działa...


Najwygodniej dodac do crona ale ja zrobilem tak jak Ty, przy wejsciu na strone funcja sie wykonuje (opoznia to troche ale przy pracy z danymi i userami ktorzy sa zalogowani inaczej byc nie moze) smile.gif))

pozdrawiam It`s_me jezeli masz jakis pomysl to napisz itsme@irc.pl
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.