ugrás a tartalomhoz

session-ök

Anonymous · 2004. Nov. 10. (Sze), 08.13
Sziasztok!

Session probléma:
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time. in C:\test\929cscs\test\NSDMan\classes\class.session.php on line 64

A php-ben, amit kifogásol ez van:
function set_ini()
{
ini_set('session.save_handler', 'files');
ini_set('session.name', $this->sess['name']);
ini_set('session.use_cookies', $this->sess['cookies']);
ini_set('session.gc_maxlifetime', $this->sess['expire']);
ini_set('session.gc_probability', $this->sess['probability']);
ini_set('session.use_only_cookies', $this->sess['only_cookies']);
}

Mi lehet a gond. A baj az, hogy már a bejelentkező képernyőnél ez fogad, és nem isjelentkezteti be az embert.

Köszi a reagálástokat!

Feri
 
1

ööö

bbalint · 2004. Nov. 10. (Sze), 12.19
miért kell neked átállítani a save_handler-t!?
nézd meg az értékét, lehet hogy már files-re be van állítva, ami neked kell.
meg, egy session_write_closé()val véget tudol vetni az épp folyó sessünnek és akkor már csak' megengedi a save_handler birizgálását ...

bbalint
2

Sziasztok! Kérdésem egys

Anonymous · 2004. Dec. 13. (H), 17.36
Sziasztok!

Kérdésem egyszeru és remélem tudtok segíteni.

Tfh. van egy honlap ahova user-passwd párossal lehet belépni és az oldalon egy FORM-on a user beállíthatja
mi a kedvenc színe majd az OK gomb megnyomása után a $_SESSION["kedvvencszin"] változoba lementjuk a kiválasztott
színt.

Belép user1 és user2 de hogy tudom azt megcsinálni hogy ne írják felul egymás "kedvenc színeit"? Azaz legyen egy
$_SESSION["kedvencszín"] változo amiben a user1 és egy $_SESSION["kedvencszín"] amiben a user2 beállítása van.

Ezek az adatok ha jol gondolom a sess_ad..... fileokban vannak eltárolva.Ha belép user1 és kiadom a session_start()
parancsot akkor letrejon elvileg egy ilyen sess_ad... file amiben az o beallitasai vannak es ha belep user2 akkor neki elvileg let
re kell hogy jojjon egy masik ilyen session file? Ha nem jon letre annak mi lehet az oka?

Es ha jol sejtem akkor itt jonne be a SID.Csak hogyan?

Es mikor fejezi be a megnyitott sess_ad... file hasznalatat? Ha kiadom a session_destroyt()? Vagy session_write_close()-val kell veget vetni egy munkafolyamatnak?

Koszonom
3

Nemreg kezdtem enis, de azert

smyle · 2004. Dec. 14. (K), 20.52
Nemreg kezdtem enis, de azert remelem nem irok hulyeseget.
Minden uj session kulon fajlban tarolodik, szerintem hiaba aggodsz amiatt, hogy felulirjak egymast. Nemfogjak.
session_start()-al letrekell jonnie a fajlnak, ha meg nem volt hozzatartozo session.
A sid karaktersorozatot atszoktak adni a kodok kozott get-el vagy post-al es ezen az id-en folytatjak a sessiont. pl: session_id($_GET['sid']); es utana start.
Legalabbis en nembiznek a szerver beallitasaiban, hogy majd az elintezi.
session_destroy();-ra semmisiti meg a session-t, de elobb elkell inditani a session-t!
4

Koszi, en is utanajartam a do

Anonymous · 2004. Dec. 15. (Sze), 08.54
Koszi, en is utanajartam a dolognak. Sajna abba a hibaba estem hogy elobb tettem fel a kerdest mintsem jobban utananeztem volna:-) Azota megallapitottam hogy tenyleg kulon file-ok jonnek letre, az egymmas file-jainak hasznalata csak abban az esetben merult fel amikor egy geprol jelentkezek be ket kulonbozo neven. Ha ket kulonbozo geprol jon letre a kapcsolodas akkor szepen megnyilik a ket sess_ file es minden ok. De ha ugyanazon geprol probalok belepni, mint user1 es user2 akkor teljesen osszekavarodnak.

"A sid karaktersorozatot atszoktak adni a kodok kozott get-el vagy post-al es ezen az id-en folytatjak a sessiont. pl:
session_id($_GET['sid']); es utana start.
Legalabbis en nembiznek a szerver beallitasaiban, hogy majd az elintezi."

Ez azt jelentene hogy a SID-et automatikusan is megkapja a rendszer, de megis jobb ha az ember egy tuti megoldast valaszt a SID tovabbitasara? Ugyani en egyaltalan nem hasznalom a SID-et (legalabbis nem direkt) es megis minden mukodik, csak a fent emlitett gond all fent.

Koszonom a segitseget
5

Igen. Gondolom a szerver bea

smyle · 2004. Dec. 15. (Sze), 17.35
Igen.
Gondolom a szerver beallitasokban ottvan, hogy tovabbitsa a session azonositot automatikusan valamilyen formaban.
A phptriadban levo apacsban is default bevan kapcsolva.
De mivan, ha olyan szerverre kell valamikor rakni a kodot ahol ez nincs bekapcsolva? Rakhatod bele utolag.
6

session

Anonymous · 2004. Dec. 16. (Cs), 08.19
Szia

Ertem.A helyzet az hogy ez egy "belso" honlap, azaz csak bizonyos usereknek lesz, nem lesz kint a vilaghalon es igy nem valoszinu hogy a kodot mas gepre kell rakni, ha pedig megis, akkor is mi tudjuk majd beallitani a webszervert.Szoval ez nem gond.

Koszi a segitseget
7

A session is active. You cannot change the session module's ini

Anonymous · 2005. Már. 20. (V), 22.11
Hello!

Nekem ugyanez volt a problémám. Én is adatbázisban kezelem a session-öket és csak az egyik lapon fogadott ilyen üzenet. A session_set_save_handler -ben a session-öket kezelő funkciókba globálisan vittem be a session-öket tartalmazó adattábla nevét, amit egy $tabla változóban tárolt. A hibás lap pedig használt pontosan ilyen $tabla nevű változót.

Tudom, triviális. Hátha nektek is szerencsétek lesz vele.
Valahol olvastam, hogy adott verziónak a bug-ja. Azt hiszem yahoo kereső adott ki erről szóló lapokat mindjárt az első sorban. Máshol pedig regéltek php.ini-s session_auto_start off-ra állításáról.

Sok szerencsét!