Sesyon PHP ak bonbon

P

Paj entènèt yo bezwen estoke done yo tanporèman oswa pèmanan pou fè operasyon demann ak repons yo avèk siksè. Prèske tout lang devlopman entènèt bay sesyon ak bonbon pou estoke enfòmasyon sou kliyan ak sèvè a. Li responsab pou eksperyans lis ak sekirite. Nan leson patikilye PHP sa a, ou pral aprann sou sesyon PHP ak bonbon. Se konsa, ann plonje nan li.

Ki sa ki bonbon nan PHP?

Bonbon yo se ti fichye ki nan depo òdinatè kliyan an. Cookie sa yo sere nan navigatè a epi yo ka genyen enfòmasyon ki gen rapò ak itilizatè a, demann, repons, ak sèvè. Bonbon sa yo ale ak demann lan nan sèvè a ki pèmèt sèvè a idantifye itilizatè a.

Yon itilizatè kapab tou kreye pwòp bonbon li yo epi estoke done nan yo. Apre sa, itilizatè a ka jwenn aksè nan bonbon sa yo.

Ki jan yo kreye yon bonbon nan PHP?

PHP setcookies() metòd kreye yon nouvo bonbon.

setcookie(name, value, expire, path, domain, secure, httponly);

Nan sentaks jeneral PHP bonbon ki anwo a, se sèlman premye paramèt ki obligatwa ki se non bonbon an. Rès paramèt yo opsyonèl.

setcookie("my_first_cookie","It contains string");

Ki jan yo jwenn bonbon ak valè yo nan PHP?

Tout bonbon sere nan varyab global PHP $_COOKIE. Pou jwenn bonbon an ak valè li, tou senpleman pase non bonbon an nan varyab mondyal la. Lè nou konsidere bonbon ki anwo a ki te kreye nan egzanp lan, gade nan sentaks sa a pou jwenn bonbon an lè l sèvi avèk global.

$_COOKIE["my_first_cookie"] // will return "It contains String"

Ki jan yo efase bonbon nan PHP?

Ou ka fikse tan ekspirasyon yon bonbon. Apre tan ekspirasyon an, bonbon an pral efase otomatikman. Gade nan egzanp ki anba a, kote nou kreye yon bonbon epi mete tan ekspirasyon li.

setcookie("my_first_cookie","It contains String", time() + (86400), "/"); // 86400 = 1 day

Nan egzanp ki anwo a, bonbon "my_first_cookie" ap ekspire apre yon jou. Kenbe nan tèt ou ke tan an ekspirasyon pou bonbon an dwe nan kantite segonn. Se poutèt sa, nou te itilize tan () fonksyon an ki retounen tan aktyèl la epi ajoute kantite segonn nan yon jou sa vle di 86400.

Ki jan yo mete ajou bonbon nan PHP?

Ou ka mete ajou yon bonbon lè l sèvi avèk menm metòd setcookie(). Jis rele fonksyon an pa non bonbon an epi ou ka mete lòt paramèt bonbon an.

setcookie("my_first_cookie","It contains String", time() + (86400 * 2), "/"); // 86400 = 1 day

Nan egzanp ki anwo a, nou te rele metòd setcookie() pou menm bonbon nou te kreye nan egzanp anvan an. Sipoze, nou vle ogmante tan ekspirasyon bonbon an soti nan yon jou a de jou. Senpleman, modifye paramèt tan ekspirasyon an.

Remak: Lè bonbon yo mete, pa default yo kode URL pandan y ap voye demann lan epi yo dekode lè yo resevwa yo. Pou enfim kodaj URL, ou ka itilize metòd setrawcookie().

Kòm ou abitye kounye a ak ajou bonbon yo, se pou nou bay yon lòt metòd pou efase yon bonbon espesyalman, si pa gen tan ekspirasyon yo fikse pou bonbon an. Senpleman, mete ajou tan ekspirasyon bonbon an nan tan lontan an.

setcookie("my_first_cookie","", time() - 3600); // delete the cookie immediately

Tcheke si navigatè ou a pèmèt bonbon?

Isit la se Trick a senp pa ki ou ka tcheke navigatè te pèmèt bonbon yo oswa ou pa. Mete yon bonbon lè l sèvi avèk metòd setcookie(). Kòm nou konnen nan aprann anvan an ke $_COOKIE etalaj magazen tout bonbon yo. Se konsa, tcheke konte a nan etalaj sa a.

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

Sesyon PHP

Si ou sou òdinatè w epi sèvi ak yon aplikasyon pou kèk tan epi fèmen li. Òdinatè a pral gen yon dosye sou itilizatè aplikasyon an ak tou tras la nan aksyon ki fèt ak aplikasyon an. Men, sou sit entènèt la, pwotokòl HTTP pa kenbe eta itilizatè a.

Si ou vle pèsiste epi jwenn aksè nan yon valè sou plizyè paj entènèt, sesyon an la pou rezoud pwoblèm sa a. Nan seksyon sa a, nou pral aprann kijan pou travay ak sesyon PHP pou konsève ak jwenn aksè nan valè yo.

Remak: Sesyon se pa depo pèmanan. Yon sesyon kòmanse lè ou ouvri paj wèb la epi li fini lè ou fèmen entènèt sa a. Baz done a se solisyon an pou depo pèmanan ke nou pral aprann nan seksyon baz done nan leson patikilye PHP.

Ki jan yo kòmanse yon sesyon nan PHP?

Pou kòmanse yon sesyon nan PHP, sèvi ak fonksyon session_start(). Asire w, fonksyon sa a ta dwe rele sou tèt script PHP a. Pwochen etap la se estoke valè a nan etalaj mondyal sesyon an. Gade nan egzanp konplè sou kòmanse yon sesyon ak estoke valè ladan l.

<?php
// Start the session
session_start();

// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

Ki jan yo ka resevwa valè sesyon an nan etalaj mondyal la?

Senpleman, pandan n ap jwenn aksè nan valè bonbon nan etalaj mondyal bonbon an, sèvi ak etalaj mondyal sesyon an pou jwenn aksè nan valè sesyon an. Gade egzanp sa a.

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

Ki jan yo mete ajou varyab sesyon an?

Rele etalaj mondyal sesyon an ak non varyab sesyon an epi bay li nouvo valè a.

$_SESSION["favcolor"] = "yellow";

Retire Sesyon vs Detwi Sesyon

Retire yon sesyon vle di retire tout valè ki estoke nan sesyon aktyèl la.

session_unset();

Detwi yon sesyon vle di sispann sesyon an ki te kòmanse lè l sèvi avèk session_start()

session_destroy();

Sesyon yo pwoteje pa yon kle espesyal kont itilizatè a. Yo estoke ak yon kle tankou "765487cf34ert8dede5a562e4f3a7e12" nan òdinatè a. Se konsa, lè sesyon an bezwen jwenn aksè nan valè ki estoke nan li sou yon lòt paj wèb nan sit entènèt la, kle sa a matche ak kle ki estoke nan òdinatè a nan kliyan an.

Pou jwenn referans konplè sou sesyon php, vizite isit la

ajoute kòmantè

Rezo Tutor

Aprann PHP soti nan A rive nan Z