Išsami PHP sesija

Kurkite ir naudokite PHP seansus


PHP labai svarbu aiškiai suprasti, kas yra sesijos ir kaip jas naudoti. Sesijos, be kita ko, yra informacijos apie tai, ką vartotojas daro lankydamasis tinklalapyje ar programoje, saugykla. Sesijose saugomos informacijos tipas gali būti labai įvairus - nuo asmeninių duomenų ar slaptažodžių iki puslapių, kuriuos vartotojas matė, jo užsakytų ar nupirktų produktų ir beveik visko, kas tik ateina į galvą, susijusio su vartotojo informacija … Šiuos duomenis išsaugosime vadindami sesijos kintamuosius, kuriuos vėliau tiksliai paaiškinsiu.

Pirmas dalykas, kurį turime išmokti valdyti rašydami php, ar ketiname jį derinti su kitomis kalbomis, pvz., HTML5, kad galėtume jį naudoti įvesties formose, tarsi rašytume tik kodą php kaip pradėti sesiją. Tai labai svarbu padaryti pradžioje, prieš rašant ką nors puslapyje, kad vėliau negautume klaidos, iš tikrųjų tai yra viena iš dažniausiai pasitaikančių klaidų, kurios atsiranda rašant kodą HTML ir įvedant seansus į php, tipiškas įspėjimas.
Todėl pirmiausia turite įvesti šį kodą ir tada pradėti nuo kalbos, kurią ketiname naudoti savo scenarijuje:

 
Ši eilutė, parašyta php, iš esmės atidaro arba tęsia sesiją, jei ji jau yra atidaryta konkrečiam vartotojui. Ši sesija sukurta arba atnaujinama remiantis identifikatoriumi, kurį gavome POST arba GET metodais arba kuris mums buvo suteiktas per slapuką.

Jei norime patikrinti, ar seansas egzistuoja, turime tik įvesti šią kodo eilutę iškart po session_start ().

 $ _SESSION ['on'] = tiesa;
Kai naudojame funkciją session_start (), programa iškviečia sesijos saugyklos valdytojus, kad jie būtų atidaryti ir skaityti skaityti. Pastarasis nuskaito bet kokios esamos sesijos informaciją ir įveda ją į kintamąjį $ _SESSION, kai skaitymas grąžina išsaugotą seanso informaciją.
Po to mes galime išsaugoti duomenis savo seanso kintamuosiuose.

Toliau pamatysime, kaip veikia seanso kintamieji:

 $ _SESSION ["Name_of_sample_variable"] = "Kintamojo vertė"; 
$ _SESSION Tai visuotinis kintamasis, kuris yra iš anksto nustatytas PHP kalba ir yra serverio dalyje kartu su sesijos identifikatoriumi ir priklauso tik vartotojui. Naudodami šį masyvą galime pasiekti kronšteino pavadinimo kintamąjį, kuriam galima suteikti reikšmę inicijuojant arba nepaliekant jokios vertės.

Jei norime skaityti seansus, tai galime padaryti taip pat, kaip skaitome kintamuosius, naudodami rezervuotą žodį „echo“:

 $ _SESSION ["Name_of_sample_variable"] = "Kintamojo vertė"; echo $ _SESSION ["Mūsų kintamojo pavadinimas"]; 
Be „session_start“ funkcijos, yra dar viena galimybė, kuri mus domina, jei norime sukurti seansą arba nuskaityti ankstesnį ir sukurti naują seanso kintamąjį. Vadinamas session_register ir vėl ši parinktis turi būti įrašyta į kodą puslapio viršuje prieš visa kita.

Ši parinktis plačiai naudojama, jei norime suskaičiuoti, kiek kartų įeiname į puslapį, pavyzdžiui:

… <? Jei (isset ($ account) == 0) {$ account = 0; } ++ $ sąskaita; echo "Jūs atnaujinote šį puslapį $ count times"; ?> var13 ->… 
Rezervuotas žodis isset Mes jį naudojame, nes naudodami ciklą if galime suteikti galimybę, kad $ sąskaita nebuvo inicijuota, o įvedant isset ši funkcija mūsų kintamai sąskaitai suteikia nulinę reikšmę, jei ji nebuvo inicijuota.

Mes matėme „session_start“ ir „session_register“, kad sukurtume sesijas, tačiau taip pat svarbu žinoti, kaip ištrinti arba sunaikinti (taigi ir pavadinimą) informaciją, susietą su konkrečia sesija.
Su funkcija session_destroy () Mes sunaikinsime visą su seansu susijusią informaciją, tačiau nebus pašalintas nei seanso slapukas, nei su juo susiję visuotiniai kintamieji. Jei norime juos vėl naudoti, turime dar kartą iškviesti šią funkciją session_start. Tai būdas atleisti funkciją ištrinant duomenis.

Jei norime visiškai pašalinti seansą ir atjungti atitinkamą vartotoją, pirmiausia turime pašalinti sesijos ID. Pagal numatytuosius nustatymus ID platinamas slapuke, todėl jį ištriname:

 setcookie (seanso_pavadinimas ()); 
Ištrynus slapuką dabar galime naudoti session_destroy () ir visiškai ištrinkite sesiją.

Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave