Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ID sesji a karty przeglądarce
Forum PHP.pl > Forum > Przedszkole
deboer82
Witam!

Na początek chciałem się przywitać na forum, jako że jestem tutaj nowy.

Programuję w php od jakiegoś czasu, ale nie mogę powiedzieć że mój poziom jest zaawansowany. Natrafiłem na następujący problem.

Mam projekt, w którym posiadam 5 stron php step1.php, step2.php itd.

W step1.php tworzę sesję i ustalam wartości dla jakichś danych i przechodzę do strony step2.php.
Tam odczytuję wartości i zapisuję je do sesji. Wszystko ładnie działa do czasu następującego przypadku.

Otwieram step1 w 1 karcie przeglądarki i przechodzę do step2. Następnie otwieram w tej samej przeglądarce tylko innej karcie step1.
Używam tutaj polecenia (w step1.php)

i przechodzę do step2.php.
Następnie gdy w 1 karcie przechodzę do step3.php session id jest już takie samo jak w karcie 2 i dane zostają nadpisane w sesji.
Próbowałem dodawać do url id sesji ale bez powodzenia cały czas id sesji się nadpisuje.

Dowiedziałem się o cookies, że może to by pomogło, ale chciałem się poradzić na forum.

Dziękuję z góry za pomoc,
Jakub
nospor
zeby za bardzo ci mieszac:
przeglądarka z kartami generuje jedną i tą samą sesje.

Chcesz sie bawić na kilku sesjach to otworz inną przeglądarkę.
deboer82
No tak myślałem.

A jest jakaś opcja, żeby sprawdzić, że np.
- gdy otwieram w karcie 2 step1.php i zaczęta jest sesja w karcie 1,
to strona w karcie 2 zwróci ostrzeżenie??
nospor
tutaj karty nie mają nic do gadania.
Napisz skrypt, ktory bedzie sprawdzal czy sesja juz jest czy nie i jesli jest i wchodzisz na step1 to walisz alerta. A czy to bedzie na karcie drugiej czy na milionowej to skryptu to nie będzie nic obchodziło.
deboer82
Próbuję tak zrobić, ale coś mi nie wychodzi.

ze strony index.php przechodzę do step1.php

W index.php mam

  1.  
  2. //sprawdzam sobie id sesji
  3. echo "ID:".session_id()."<br />";


Następnie w step1.php mam
  1. $session_id = session_id();
  2. echo "ID:".$session_id."<br />";
  3. if(!isset($session_id))
  4. {
  5. $session_id = session_regenerate_id();
  6. }


I teraz nie wiem jak zrobić, że jeżeli sesja istnieje to w index.php albo step1.php mam info że już jest odpalana.
Możliwe, że nie do końca rozumiem mechanizm sesji.
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.