PHP-istunnot ja evästeet

P

Web-sivujen on tallennettava tiedot väliaikaisesti tai pysyvästi, jotta pyyntö- ja vastaustoiminnot voidaan suorittaa onnistuneesti. Lähes jokainen verkkokehityskieli tarjoaa istuntoja ja evästeitä asiakas- ja palvelintietojen tallentamiseen. Se vastaa sujuvasta kokemuksesta ja turvallisuudesta. Tässä PHP-opetusohjelmassa opit PHP-istunnoista ja evästeistä. Joten sukeltakaamme siihen.

Mitä evästeet ovat PHP:ssä?

Evästeet ovat pieniä tiedostoja asiakkaan tietokoneen tallennustilassa. Nämä evästeet tallennetaan selaimeen ja voivat sisältää käyttäjään, pyyntöön, vastaukseen ja palvelimeen liittyviä tietoja. Nämä evästeet kulkevat pyynnön mukana palvelimelle, jonka avulla palvelin voi tunnistaa käyttäjän.

Käyttäjä voi myös luoda omia evästeitään ja tallentaa niihin tietoja. Myöhemmin käyttäjä pääsee näihin evästeisiin.

Kuinka luoda evästeet PHP:ssä?

PHP setcookies() -menetelmä luo uuden evästeen.

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

Yllä olevassa PHP-evästeen yleisessä syntaksissa vaaditaan vain ensimmäinen parametri, joka on evästeen nimi. Muut parametrit ovat valinnaisia.

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

Kuinka saada evästeet ja niiden arvo PHP:ssä?

Kaikki evästeet tallentuvat PHP $_COOKIE globaaliin muuttujaan. Saadaksesi evästeen ja sen arvon, välitä evästeen nimi globaalille muuttujalle. Ottaen huomioon yllä olevassa esimerkissä luodun evästeen, katso seuraavaa syntaksia saadaksesi eväste globaalien avulla.

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

Kuinka poistaa evästeet PHP:ssä?

Voit asettaa evästeen vanhenemisajan. Vanhenemisajan jälkeen eväste poistetaan automaattisesti. Katso alla olevaa esimerkkiä, jossa luomme evästeen ja asetamme sen vanhenemisajan.

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

Yllä olevassa esimerkissä eväste "my_first_cookie" vanhenee yhden päivän kuluttua. Muista, että evästeen vanhenemisajan tulee olla sekunneissa. Siksi käytimme time()-funktiota, joka palauttaa nykyisen ajan ja lisää sekuntien määrän vuorokaudessa eli 86400.

Kuinka päivittää evästeet PHP:ssä?

Voit päivittää evästeen käyttämällä samaa menetelmää setcookie(). Kutsu toimintoa vain evästeen nimellä ja voit asettaa evästeen muita parametreja.

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

Yllä olevassa esimerkissä olemme kutsuneet setcookie()-menetelmää samalle evästeelle, jonka loimme edellisessä esimerkissä. Oletetaan, että haluamme pidentää evästeen vanhenemisaikaa yhdestä päivästä kahteen päivään. Yksinkertaisesti muokkaa vanhenemisajan parametria.

Huomautus: Kun evästeet on asetettu, ne ovat oletusarvoisesti URL-koodattuja, kun pyyntö lähetetään, ja dekoodataan, kun ne vastaanotetaan. Voit poistaa URL-koodauksen käytöstä setrawcookie()-menetelmällä.

Koska olet jo perehtynyt evästeiden päivittämiseen, anna meidän tarjota toinen menetelmä evästeen poistamiseen, etenkin jos evästeelle ei ole asetettu vanhentumisaikaa. Päivitä vain evästeen vanhentumisaika menneisyyteen.

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

Tarkista, salliiko selaimesi evästeet?

Tässä on yksinkertainen temppu, jolla voit tarkistaa, onko selain sallinut evästeet vai ei. Aseta eväste setcookie()-menetelmällä. Kuten tiedämme edellisestä oppimisesta, $_COOKIE-taulukko tallentaa kaikki evästeet. Joten tarkista tämän taulukon määrä.

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

PHP-istunnot

Jos olet tietokoneellasi ja käytät sovellusta jonkin aikaa ja sulje se sitten. Tietokoneessa on tietue sovelluksen käyttäjästä ja myös sovelluksella suoritetuista toiminnoista. Mutta verkkosivustolla HTTP-protokolla ei ylläpidä käyttäjän tilaa.

Jos haluat jatkaa ja käyttää arvoa useilla verkkosivuilla, istunto on olemassa tämän ongelman ratkaisemiseksi. Tässä osiossa opimme työskentelemään PHP-istuntojen kanssa arvojen tallentamiseen ja käyttämiseen.

Huomautus: Istunto ei ole pysyvä tallennustila. Istunto alkaa verkkosivun avaamisesta ja päättyy, kun suljet verkkosivun. Tietokanta on ratkaisu pysyvään säilytykseen, jonka opimme PHP-oppituntien tietokantaosiossa.

Kuinka aloittaa istunto PHP:ssä?

Jos haluat aloittaa istunnon PHP:ssä, käytä session_start()-funktiota. Varmista, että tämä toiminto tulee kutsua PHP-skriptin yläosassa. Seuraava vaihe on tallentaa arvo istunnon globaaliin taulukkoon. Katso täydellinen esimerkki istunnon aloittamisesta ja arvojen tallentamisesta siihen.

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

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

Kuinka saada istunnon arvo maailmanlaajuisesta taulukosta?

Yksinkertaisesti, kun käytämme evästeen arvoa evästeiden maailmanlaajuisesta taulukosta, käytä istunnon yleistä taulukkoa istunnon arvon saamiseksi. Katso seuraava esimerkki.

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

Kuinka istuntomuuttuja päivitetään?

Kutsu istunnon globaali array istuntomuuttujan nimellä ja anna sille uusi arvo.

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

Istunnon poistaminen vs istunnon tuhoaminen

Istunnon poistaminen tarkoittaa kaikkien nykyiseen istuntoon tallennettujen arvojen poistamista.

session_unset();

Istunnon tuhoaminen tarkoittaa istunnon lopettamista, joka aloitettiin komennolla session_start()

session_destroy();

Istunnot on suojattu erityisellä avaimella käyttäjää vastaan. Ne tallennetaan tietokoneeseen avaimella, kuten "765487cf34ert8dede5a562e4f3a7e12". Joten kun istunnon on päästävä käsiksi siihen tallennettuun arvoon verkkosivuston toisella verkkosivulla, tämä avain yhdistetään asiakkaan tietokoneeseen tallennettuun avaimeen.

Saat täydelliset tiedot php-istunnoista osoitteesta tätä

lisää kommentti

Tutor-verkosto

Opi PHP pisteestä A paikkaan Z