Autor Zpráva
D.B.Cooper
Profil *
zdravim zajimolo mam problem z ruznych zdroju sem dal dohromady funkcni prihlasovani v session s tim ze kdyz se nekdo prihlasi tak se zapise hodnota $session["user_is_logged"] =1 ale pak sem sem se to snazil predelat na prihlasovani propojeny databazi coz mi taky funuje az na to ze kdyz se prihlasi petr tak uz se jarda prihlasovat nemusi protoze je user_is_logged =1 tak me pak napadlo ze misto toho user_is_logged bych daval nick ale nevim jak na uvodni stranku pak zapsat napr PETR SE PRIHLASIL kdyz budu mit naplneny zaroven $session[petr] =1 a $session[jarda]=1

nevite nekdo jak to mam poladit ? de mi o to bzch mohl nejakym prikzem zjistovat s kym pracuju a menit mu hodnoty jako npriklad suroviny (onlinova hra)

treba se to se session ani neda udelat fakt nevim ....
Tomasds
Profil
předpokládám že hráče máš v databázi a každý má své ID.
if (jménoaheslosouhlasí)
$_SESSION["hrac"]=$zaznam["ID"];
D.B.Cooper
Profil *
tomasds a vyresi to muj problem? co kdyz budou zaroven prihlaseny hraci s ID 3 ID 4 ID 5
a ja budu chtit kazdymu z nich odpovedet ID 3 se prihlasil atd .. jak poznam podminkou kterej je kterej ? pokud sem pochopil správně funkci session tak ta jen udrzuje promeny pri preklikavani mezi strankama


spis by me zajimal priklad toho jak vypisu ID 3 se pipojil kdybych to to dal cyklem pro vsechny id tak to vsem prihlasenejm vypise vsechny prilaseny .....
Tomasds
Profil
myslím že v tom máš trochu zmatek.

Nevím co tvoříš, ale předpokládám, že všichni se dívají na stejné php, které jim ukazuje "jejich" data z databáze.
session používej na přihlášení, resp. na udržení informace o tom, že se na stránku dívá přihlášený.
A zobrazuj mu jeho data na základě session tak jak jsem psal.

Prostě SELECT data FROM datavšechhráčů WHERE ID = $_SESSION["hrac"]
Mephi
Profil *
znamena to ze jedna promena v session muze pracovat s vice uzivateli najednou aniz by se premazavala a delalo to bordel ? jestli jo tak uz sem to konece pochopil
bohyn
Profil
Mephi
Session obsahuje informace pro kazdeho uzivatele zvlast. Pokud chces sdilet data mezi vice uzivateli musis pouzit databazi nebo soubor, popripade nejaky modul PHP pro spravu sdilene pameti (na hostingu ale nejsou bezne dostupne).
Mephi
Profil *
ne ja to myslel jako ze kazdej uzivatel uvidi tu promenou jinak ne ze ji vsichni budou sdilet .... asi tak ...

bude promena session["jmeno"]

uzivately petr tam nactu jmeno v case 10:00 pote se prihlasi druhy uzivat david a ja do session["jmeno"] vlozim david v case 10:30 (ovsem jen pro davida) pak se v case 11:00 zepta uzivatel petr na promenou session["jmeno"] a uvidi v ni *petr* => david jeho udaj nepremaze jen si zalozi svuj pomoci nejakeho session id (SID) o ktery ja se nemusim starat ... je to tak?
Mephi
Profil *
pro upresneni pouzivam easyphp kde je defaultne nastaveny soubor php.ini
Tomasds
Profil
ještě jednou a pomalu:
session je něco, co je navázáno na jednoho člověka.

Typicky:
Po úspěšném přihlášení SELECT ID FROM lidi where user= pwd= .. uděláš
session_register("prihlaseny");
$_SESSION["prihlaseny"]=$zaznam["ID"];

od toho momentu session daného člověka žije a každý v ní má svoje ID.
edit: ne "každý", ale dotyčný přihlášený.

takže používáš SELECT tocopotřebuju FROM lidi where ID = $_SESSION["prihlaseny"]
a funguje to, dokud nedáš session_destroy();


uzivately petr tam nactu jmeno v case 10:00 pote se prihlasi druhy uzivat david a ja do session["jmeno"] vlozim david v case 10:30 (ovsem jen pro davida) pak se v case 11:00 zepta uzivatel petr na promenou session["jmeno"] a uvidi v ni *petr* => david jeho udaj nepremaze jen si zalozi svuj pomoci nejakeho session id (SID) o ktery ja se nemusim starat ... je to tak?

Zkus to napsat ještě jednou a srozumitelně.
Jediné co z toho chápu, je to, že chceš mít jednu jakousi společnou session a v ní něco měnit. To nejde.
Mephi
Profil *
v pohodě sem tu svou teorii otestoval a funguje to

pravda psal sem to trochu nesrozumitelně ale myslel sem to dobře protože to funguje na 1ku :)
jen pro info mam dat do logoutu to session destroy(); sem čet na forech že je to nedoporučovaný způsob odhlašování že je lepší pro $_SESSION["prihlaseny"] pridat cislo ktery se bude testovat jako odhlášen například nula (samo že pokud nebudu mít index nula)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0