Příklad práce s relacemi v php. Sezení v PHP

Relace v PHP nebo jako data o uživateli nebo zákazníkovi, který navštíví web, se ukládají při pohybu mezi stránkami webu bez větších potíží. Lekce je velmi důležitá. Relevantní pro tvorbu 95 % webových stránek.

Co je relace v php

Relace se používají k ukládání dočasných dat (například to, že uživatel navštívil web) při procházení mezi stránkami stejného webu. Při používání relací se data ukládají do dočasných souborů na serveru.
Nejčastěji se relace (a také soubory cookie) používají při vytváření internetových obchodů, fór, nástěnek, sociálních sítí, blogů a dalších zdrojů. Pohodlí relačního systému spočívá v ukládání dočasných informací o přihlášeném uživateli/zákazníkovi, o kterých jsou data po určitou dobu rychle dostupná. Relace má přirozené datum vypršení platnosti – do zavření prohlížeče. Pokud zavřete pouze stránku, pak při otevření webu budou údaje o uživateli/zákazníkovi stále dostupné.

Logika relace

Session (neboli session) je druh dočasného úložiště dat. Hned upozorňuji, že úspora malého množství dat se vyplatí. Například přihlašovací jméno a heslo hostujícího uživatele nebo jeho sériové číslo v databázi.

Ukázka práce
1. Uživatel zadá své přihlašovací jméno a heslo a vstoupí na stránku
2. Údaje s přihlašovacím jménem a heslem jsou uloženy v relaci jedné ze stránek webu:

Soubor index.php

Session_start(); // každý soubor, ve kterém chcete použít data relace, musí na začátku kódu obsahovat příkaz "start session".

$login = "admin";
$password = "pass";
$_SESSION["login"] = $přihlášení; // uložení proměnné obsahující login
$_SESSION["heslo"] = $heslo; // uložení proměnné obsahující heslo

3. Když přejdete na jinou stránku webu, budou k dispozici také tato data:

Soubor example.php(nebo jakákoli jiná stránka)

Echo "Vaše přihlašovací údaje ".$_SESSION["login"]; // zobrazí "Vaše přihlášení je admin", ačkoli jsme na této stránce nezaznamenali žádná data!
Vidíte, je to jednoduché!

4. Pokud chcete vymazat data relace, stačí:

Soubor example.php

Session_start(); // "zahájit relaci" znovu

Unset($_SESSION["přihlášení"]); // takto byla proměnná odregistrována nebo „zničena“
echo "Vaše přihlašovací údaje ".$_SESSION["login"]; // zobrazí "Vaše přihlašovací údaje". Protože jsme to zničili v posledním řádku, nejsou tam žádná data

Session_destroy(); // zničit relaci. Všechna data, včetně $_SESSION["hesla"] již nejsou k dispozici. Při jejich vyžádání se zobrazí chyba
Obecně je takový přenos podobný metodě POST, ale již nemusíte psát mnoho zbytečného kódu a všechna data přenášená ze stránky na stránku jsou uložena v dočasných souborech na serveru. Opakuji, relace by měly obsahovat malé množství dat, takže jsou vhodné pro ukládání přihlašovacích údajů/hesla, nákupního košíku a dalších malých objemů.

Předání hodnoty nebo pole pomocí relace PHP

Do relace můžete zapsat nejen řetězec, ale také pole dat. Jen to nepřehánějte s objemem pole, protože to vše ovlivní rychlost a obsazený prostor na serveru.

Opět používáme určitou úvodní stránku index.php

Session_start();

$r = pole("jeden", "dva", "tři");

$_SESSION["arr"] = $r;

Na stránku, kde se vše zobrazí
Data jsme uložili v relaci a přejděte na odkaz na další stránku, kde zobrazíme všechna data.

Cílový soubor, stránka test.php kde otevřeme pole

Session_start();
print_r($_SESSION["arr"]);
// vytiskne
/*
Pole
=> jeden
=> dva
=> tři
*/
?>
Možná budete chtít oprášit lekci na . Obecně by mělo být vše jasné.

Další funkce pro práci s relacemi

session_unregister(řetězec)- relace zapomene hodnotu zadané globální proměnné;
session_destroy()- relace je zničena (například pokud uživatel opustil systém kliknutím na tlačítko exit);
session_set_cookie_params(int životnost [, cesta řetězce [, doména řetězce]])- pomocí této funkce můžete nastavit, jak dlouho bude relace žít, nastavením unix_timestamp, který určuje čas smrti relace.

Seznam funkcí pro práci s relacemi v php
session_cache_expire - vrací vypršení platnosti aktuální mezipaměti
session_cache_limiter - Získá a/nebo nastaví aktuální omezovač mezipaměti
session_commit je alias pro session_write_close()
session_decode - dekóduje data relace z řetězce
session_destroy - zničí všechna data registrovaná pro relaci
session_encode - zašifruje data aktuální relace jako řetězec
session_get_cookie_params – získá parametry cookie relace
session_id - získá a/nebo nastaví aktuální ID relace
session_is_registered - určuje, zda je proměnná registrována v relaci
session_module_name - získá a/nebo nastaví aktuální modul relace
session_name - získá a/nebo nastaví název aktuální relace
session_regenerate_id - upraví aktuální ID relace na nově vygenerované
session_register - registruje jednu nebo více proměnných pro aktuální relaci
session_save_path - získá a/nebo nastaví cestu k uložení aktuální relace
session_set_cookie_params – nastavuje parametry cookie relace
session_set_save_handler - nastavuje funkce úložiště relace na úrovni uživatele
session_start - inicializuje data relace
session_unregister - zruší registraci proměnné z aktuální relace
session_unset - uvolní všechny proměnné relace
session_write_close - zapíše data relace a konec relace

Příklady sezení

Počítadlo zobrazení stránky během relace. Jasný příklad práce. Po zavření prohlížeče však odpočítávání začne znovu.

Počítadlo návštěv jedné stránky v rámci jedné relace

// Jednoduchý příklad použití relací bez souborů cookie.
session_name("test");
session_start();
$_SESSION["count"] = @$_SESSION["count"] + 1;
?>

Čelit


Tuto stránku jste otevřeli ve své aktuální relaci prohlížeče
čas(y).
Chcete-li toto počítadlo resetovat, zavřete prohlížeč.
Klikněte zde pro aktualizaci stránky!
S každým přechodem se počítadlo zvýší o 1)

Děkuji za pozornost! Hodně štěstí ve vašem snažení!

Relace v PHP jsou mechanismem pro ukládání informací o počítači klienta na straně serveru. Ve skutečnosti nejsou relace v PHP tak komplexním tématem, ale abyste tomu porozuměli, musíte vědět, jak cookies v PHP fungují. Pokud tedy nevíte, jak cookies v PHP fungují, tak si nejprve přečtěte příslušný článek, a pak se vraťte sem.

Slovo session je z angličtiny přeloženo jako session, takže samotný význam sessions v PHP je jasnější, ale programátoři přijali termín „sessions“ a my jej v tomto článku budeme používat.

Relace v PHP jsou velmi podobné mechanismu cookie, stejné páry klíč => hodnota, pouze jsou uloženy na straně serveru.

funkce session_start().

Potřebujeme spustit relaci, k tomu existuje funkce session_start(). Tato funkce spouští relaci nebo relaci, jakkoli ji chcete nazvat.

Je vhodné volat funkci session_start() na samém začátku stránky, ale v mých příkladech to nedělám.

pole $_SESSION

Relace jsou skupiny proměnných, které jsou uloženy na serveru, ale týkají se jednoho unikátního návštěvníka. Toto je opět klíčový bod: relace jsou uloženy na serveru.

Aby bylo zajištěno, že každý návštěvník bude interagovat se svými daty ze své relace, používá se cookie, příkaz k vytvoření, který si PHP dává samo, nemusíte se o to starat. Tento soubor cookie je relevantní pouze pro server a nelze jej použít k získávání uživatelských dat.

Na serveru jsou data relace uložena v textovém souboru a jsou dostupná v programu PHP v poli $_SESSION. Chcete-li uložit proměnnou v relaci, musíte jí přiřadit hodnotu v tomto poli.

Začněme konečně používat příklady. Vše je velmi jednoduché.

Sezení v PHP význam."; ?>

Nyní zkusme získat hodnotu z pole $_SESSION v jiném příkladu.

Sezení v PHP

Upozorňujeme, že pokud ve druhém příkladu odstraníme funkci session_start(), nebudeme mít přístup k datům v poli $_SESSION.

funkce session_id().

Jakmile je relace vytvořena, máte automaticky přístup k jedinečnému identifikátoru relace pomocí funkce session_id(). Tato funkce umožňuje jak nastavit, tak získat hodnotu ID relace.

Sezení v PHP

Můžete se podívat do vývojářské lišty vašeho prohlížeče (v Chrome stiskněte Ctrl + Shift + I, poté Zdroje a tam cookie najdete), tato doména nastavila cookie pro váš prohlížeč s názvem PHPSESSID a přibližně následujícím hodnota: „7g5df9rkd1hhvr33lq1k6c72p7“.

Právě podle hodnoty PHPSESSID server určí váš prohlížeč a bude pracovat s odpovídající sadou proměnných, které budou skriptu dostupné prostřednictvím pole $_SESSION, jak bylo napsáno dříve.

funkce session_name().

Zatímco funkce session_id() umožňuje získat hodnotu ID relace, funkce session_name() umožňuje získat název relace.

Sezení v PHP

Ještě jednou o funkci session_start().

Nyní víme více o tom, jak sessions v PHP fungují, a musíme se ještě jednou vrátit k funkci session_start(). Tato funkce inicializuje mechanismus relace pro aktuálního uživatele. Jak přesně se to stane:

  • Pokud uživatel spustil web poprvé, potom session_start() nastaví cookie na klientovi a vytvoří dočasné úložiště na serveru spojeném s ID uživatele.
  • Určuje úložiště přidružené k aktuálnímu předávanému ID.
  • Pokud jsou v úložišti na serveru data, umístí se do pole $_SESSION.
  • Pokud je register_globals ze souboru php.ini On, pak se všechny prvky pole $_SESSION změní na globální proměnné.

Příklad použití relace

Nyní se podíváme na příklad, který nám umožní provádět malé experimenty s relacemi.

Sezení v PHP

Čelit

Otevřeli jste stránku v aktuální relacijednou.

Otevřete příklad na ">této kartě.

Veškerá práce relace je založena na poli $_SESSION, což je v tomto příkladu jasně vidět.

Pokud zavřete okno prohlížeče, relace se ukončí a naše počítadlo se vynuluje. Toto chování relací v PHP lze změnit, k této problematice se vrátíme o něco později v článku.

Ukončení relace

K ukončení relace potřebujeme:

  1. Vymažte pole $_SESSION.
  2. Odstraňte dočasné úložiště na serveru.
  3. Smazat soubory cookie relace.

Pole $_SESSION můžete vymazat pomocí funkce session_unset().

Funkce session_destroy() odstraní dočasné úložiště na serveru. Mimochodem, nic jiného nedělá.

Soubor cookie relace musíte odstranit pomocí funkce setcookie(), kterou jsme se naučili v lekci o práci s cookies v PHP.

Příklad ukončení relace:

Ukončení relace

Relace skončila.

Nyní můžete provést experiment: spusťte příklad s počítadlem v jednom okně, zvyšte počítadlo a poté spusťte příklad s odstraněním relace a znovu obnovte stránku s počítadlem.

Soubor cookie můžete smazat takto:

setcookie(název_relace(), "", čas () - 60*60*24*32, "/")

Ještě jednou o funkcích session_name() a session_id().

Funkce session_name() a session_id() se v praxi používají jen zřídka, ale píšu o nich, protože článek potřebuje odhalit samotný mechanismus fungování session v PHP.

Tyto funkce můžete použít k definování vlastních názvů a ID relací, ale to se nedoporučuje. Pokud je chcete nastavit, napište tyto funkce s argumenty před funkci session_start(), jako v příkladu níže:

Sezení v PHP

V tomto příkladu bude všem uživatelům přiřazeno stejné ID relace.

Podívejme se blíže: pokud spustíte příklad ze sekce o funkci session_name() (zde je odkaz) v různých prohlížečích (například Chrome a Internet Explorer), bude mít každý prohlížeč svůj vlastní jedinečný identifikátor relace . Prohlížeče ukládají soubory cookie každý do své vlastní složky, takže funkce session_start() umožní každému prohlížeči vytvořit svůj vlastní jedinečný identifikátor a podle toho bude pro každý prohlížeč na serveru vytvořeno jedinečné úložiště. Proto příklad čítače (tento) bude fungovat nezávisle v každém prohlížeči.

Pokud nastavíte stejné ID relace pro všechny uživatele, budou pracovat se stejným úložištěm na serveru. Zde je příklad počítadla, které bude počítat návštěvy z různých prohlížečů:

100) ( session_unset(); session_destroy(); ) ?> Sezení v PHP

Pult č. 2

Otevřel stránku v různých prohlížečíchjednou.

Otevřete příklad na ">této kartě.

Pokud spustíte tento příklad, není pravda, že tam nějaký uvidíte. Ostatní návštěvníci již možná změnili hodnoty v úložišti relací na serveru. Nevím, kdy server v tomto případě smaže úložiště, takže pokud počítadlo překročí 100, ukončím relaci.

Nastavení doby čekání

Ve výchozím nastavení je relace „živá“, dokud návštěvník nezavře okno prohlížeče. To je způsobeno tím, že funkce session_start() umístí takový cookie na klienta.

Životnost relace lze změnit pomocí funkce session_set_cookie_params(), zde je její syntaxe.

session_set_cookie_params (int lifetime [, cesta řetězce [, doména řetězce [, bool secure]]])

V praxi stačí použít pouze první parametr (lifetime), zde zapíšete čas v sekundách, který určuje, jak dlouho si má server pamatovat stav session po zavření prohlížeče.

Účinek funkce session_set_cookie_params() se vztahuje pouze na období, kdy je skript spuštěn.

Zde je příklad použití této funkce:

Sezení v PHP

Pult č. 3

Hodnota počítadla:.

Otevřete počítadlo v ">této záložce.

Naviňte počítadlo a zavřete prohlížeč, po 30 sekundách znovu otevřete tento příklad. Vaše relace bude uložena.

Relace představují jednoduchý způsob, jak ukládat informace pro jednotlivé uživatele s jedinečným ID relace. To lze použít k uložení stavu mezi požadavky na stránky. ID relace se obvykle odesílají do prohlížeče prostřednictvím souboru cookie relace a používají se k načtení dostupných dat relace. Absence ID relace nebo cookie relace říká PHP, aby vytvořilo novou relaci a vygenerovalo nové ID relace.

Relace využívají jednoduchou technologii. Když je vytvořena relace, PHP buď načte existující relaci pomocí zadaného ID (obvykle z cookie relace), nebo pokud nebylo nic předáno, vytvoří se nová relace. PHP naplní superglobální proměnnou $_SESSION informacemi o relaci po zahájení relace. Když PHP skončí, automaticky serializuje obsah superglobální proměnné $_SESSION a odešle ji k uložení pomocí obslužné rutiny relace k zaznamenání relace.

PHP standardně používá k ukládání relací interní handler souborů, který je nastaven v INI proměnné session.save_handler. Tento obslužný program ukládá data na server do adresáře zadaného v konfigurační direktivě session.save_path.

Pomocí této funkce lze relace spustit ručně session_start(). Pokud je direktiva session.auto_start nastavena na 1 , relace se automaticky spustí na začátku požadavku.

Relace se obvykle ukončí, když PHP dokončí provádění skriptu, ale lze ji také ukončit ručně pomocí funkce session_write_close().

Varování

Pozornost

Komentář:

Relace, které používají soubory (ve výchozím nastavení v PHP), uzamknou soubor relace okamžitě po otevření relace funkcí session_start() nebo nepřímo zadáním session.auto_start . Jakmile je uzamčen, žádný jiný skript nemůže přistupovat ke stejnému souboru relace, dokud není uzavřen, ať už při ukončení skriptu nebo při volání funkce session_write_close().

To bude pravděpodobně problém pro weby, které hodně spoléhají na AJAX a podávají více požadavků současně. Nejjednodušší způsob, jak tento problém vyřešit, je zavolat funkci session_write_close() okamžitě, jakmile jsou provedeny všechny požadované změny v relaci, nejlépe blíže ke spuštění skriptu. Můžete také použít jiný mechanismus relace, který podporuje souběžný přístup.

7,7 tis

Pomocí PHP relace vás server identifikuje a umožní vám provádět potřebné operace: měnit informace na různých webových stránkách, přidávat nové informace atd. Po dokončení práce na webu smažete aktuální relaci kliknutím na tlačítko „Odhlásit se“:

Co je relace PHP?

Relace PHP je způsob ukládání informací do proměnných relace, které lze použít k ověření na více webových stránkách. Na rozdíl od cookies se informace o relaci neukládají v počítači uživatele. Místo toho relace vytvoří soubor na serveru v dočasném adresáři.

Tyto informace uložené během relace jsou dostupné pro všechny webové stránky zdroje. Na serveru je umístění dočasného souboru určeno parametrem session.save_path v konfiguračním souboru php.ini.

Při vytváření relace PHP se provádějí následující tři kroky:

  • Když je vytvořena relace, PHP vygeneruje jedinečný identifikátor, což je náhodný řetězec 32 hexadecimálních čísel. ID doby trvání relace PHP vypadá asi takto: 9c8foj87c3jj973actop1re472e8774;
  • Server odešle cookie s názvem PHPSESSID do počítače uživatele pro uložení jedinečného řetězce identifikátoru relace;
  • Server vygeneruje soubor v určeném dočasném adresáři, který obsahuje název jedinečného identifikátoru relace s předponou session_g. sess_9c8foj87c3jj973actop1re472e8774.

Tato nastavení pomáhají skriptu PHP načíst hodnoty proměnných relace ze souboru. Na straně klienta PHPSESSID obsahuje identifikátor relace. Potvrzuje název souboru, který má být prohledáván, v konkrétním adresáři na straně serveru, ze kterého lze extrahovat proměnné relace a použít je pro ověření.

Uživatel může ukončit relaci kliknutím na tlačítko odhlášení, které zavolá funkci session_destroy(). Když uživatel zavře prohlížeč, relace PHP se automaticky uzavře. V opačném případě server ukončí relaci po uplynutí zadané doby.

Syntaxe relace v PHP

Když PHP autorizuje prostřednictvím relace, je vytvořeno pomocí funkce session_start() a odstraněno pomocí funkce session_destroy(). Globální proměnná PHP známá jako $_SESSION se používá k nastavení hodnot proměnných relace. Všechny hodnoty nastavené pro proměnné relace můžete resetovat pomocí funkce session_unset().

Operace relace

Podíváme se na následující operace pomocí relace PHP a také na jejich příklady.

  • Spuštění relace PHP a nastavení proměnných relace: nová PHP relace se spustí pomocí funkce session_start(). Jakmile je relace vytvořena, lze její proměnné relace nastavit pomocí $_SESSION. Nastavili jsme hodnoty pro proměnné " uživatelské ID” — “php_user" A " Heslo” — “tutoriály”:

PHP sessions - tvorba Relace PHP byla zahájena a proměnné relace byly nastaveny!"; ?>

Výsledek: Spuštěním výše uvedeného PHP kódu na serveru vznikne následující zpráva:

  • Získávání hodnot proměnných relace PHP: Je možné získat hodnoty proměnných, které jsme nastavili během poslední relace PHP přihlášení. Když otevřeme relaci PHP na začátku každé stránky ( session_start()), musí být specifikován níže uvedený kód. Tyto hodnoty načteme a zobrazíme pomocí globální proměnné $_SESSION:

PHP session - získávání hodnot
"; echo "Heslo - " . $_SESSION["heslo"] . "."; ?>

Výsledek: Když spustíme výše uvedený PHP kód na serveru, dostaneme jako výsledek následující zprávu. Zobrazí se hodnoty proměnných relace, které jsme nastavili dříve po vytvoření relace PHP.

  • Aktualizace hodnot proměnných relace PHP: Během relace můžete aktualizovat hodnoty jejích proměnných. Nejprve musíme otevřít relaci PHP na začátku každé stránky ( session_start()). V níže uvedeném kódu aktualizujeme hodnoty proměnných “ uživatelské ID” — “new_php_user" A " Heslo” — “vzdělání”.

Pole proměnných relace a jejich hodnot můžete vytisknout pomocí funkce print_r($ _SESSION), jak je znázorněno níže:

PHP session - změna hodnot
"; print_r($_SESSION); ?>

Výsledek: Když spustíme výše uvedený PHP kód na serveru, obdržíme následující zprávu. Bude obsahovat pole proměnných relace s jejich novými hodnotami.

Relace vám umožní navázat spojení mezi návštěvníkem a webem pomocí ID relace.

Proměnné relace a jejich hodnoty jsou uloženy pouze na serveru. Na počítači uživatele a serveru je uložen pouze identifikátor relace (náhodně vygenerovaný), což nám umožňuje navázat spojení mezi uživatelem a serverem.

ID relace uložené v počítači uživatele je soubor cookie.

Cookie je uložena v prohlížeči uživatele a na serveru je také vytvořen odpovídající soubor.

Vytvořte relaci

Nejjednodušší způsob, jak otevřít relaci, je použít funkci session_start:

// zahájení relace session_start();

Tato funkce zkontroluje, zda existuje ID relace, a pokud ne, vytvoří je. Pokud aktuální ID relace již existuje, načtou se registrované proměnné relace.

Tato konstrukce (musí být volána jednou pro každou stránku) musí být volána před jakýmkoli závěrem(toto pravidlo funguje také pro setcookie()), včetně mezer.

Po vytvoření relace se do prohlížeče odešle následující soubor cookie:

PHP

echo "Název relace: ".název_relace(). " ID relace: ".session_id(); // Název relace: PHPSESSID ID relace: mceu820l02id3ds0vcvtgnht04

Vytvořte proměnnou relace

Proměnná relace se vytvoří přidáním hodnoty do superglobálního pole $_SESSION:

$_SESSION["nick"] = $_POST["jméno"];

Zničení proměnných relace a samotné relace

1. Proměnnou relace můžete odstranit následovně:

Unset($_SESSION["přezdívka"]);

Tím se zabrání opětovnému použití informací.

Ale je lepší jednoduše vymazat pole $_SESSION (odstranit všechny proměnné relace):

//vymazat pole $_SESSION $_SESSION = pole();

2. Musíte také provést následující:

Nastavit neplatný soubor cookie relace:

If (isset($_COOKIE)) ( // session_name() – získat název aktuálního setcookie relace(session_name(), "", time()-86400, "/"); )

Název relace odkazuje na ID relace v souborech cookie a URL

3. Zničit (ukončit) relaci

Session_destroy();

Výstupní vyrovnávací paměť

Pokud již nějaký výstup máte, můžete použít funkci ob_start(). Tato funkce ukládá výstup do vyrovnávací paměti. Nyní nebude výstup odeslán do prohlížeče, pokud to nevynutíte pomocí funkce ob_end_flush().

"; unset($_SESSION["nick"]); if (isset($_COOKIE)) ( setcookie(session_name(), "", time()-86400, "/"); // obsah relace - prázdný řetězec ) // setcookie bude fungovat bez chyb, protože jsme právě ob_end_flush( // odeslali výstup do prohlížeče session_destroy();

Na druhou stranu není vždy nutné používat funkci ob_end_flush(), protože PHP interpret po spuštění skriptu automaticky vyprázdní vyrovnávací paměť.

Opětovné vytvoření identifikátoru relace

Z bezpečnostních důvodů musíte pokaždé, když se přihlásíte do systému, znovu vytvořit ID relace. Informace v proměnných relace jsou zachovány, mění se pouze identifikátor relace. Nezapomeňte, že informace o relaci jsou uloženy na webovém serveru jako text v odpovídajícím souboru. Chcete-li znovu vytvořit id, zavolejte session_regenerate_id() a obnovte aktuální stránku nebo přesměrujte uživatele na jinou stránku.

Mechanismus relace


Snížení životnosti relace

Ve výchozím nastavení je doba trvání relace 0, což znamená, že když uživatel zavře okno prohlížeče, relace je zničena. Někdy je nutné ukončit relaci uživatele z důvodu nečinnosti z jeho strany. To lze realizovat následujícím způsobem (podíváme se na příklad autorizace): vytvoříme proměnnou a uložíme do ní dobu autorizace uživatele, pokud se pokusíme stránku obnovit, porovnáme čas s dobou nečinnosti a příp je překročena, uživatele odhlásíme a přesměrujeme na autorizační stránku.

$_SESSION["start"] = čas(); // časové razítko autorizace uživatele $now = time(); // aktuální čas $time_limit = 1000; // maximální povolená doba nečinnosti uživatele v sekundách. if ($now > $_SESSION["start"] + $time_limit) ( echo "Váš čas vypršel"; //...... // a smažte relaci a její cookie) else ( $_SESSION["start " ] = time(); ) // v případě objednávky aktualizujte

Jak udělat relaci na celý život věčnou?

Aby klient zůstal vždy přihlášen, není nutné nastavovat dobu trvání relace na věčnost. Relace je relace: začíná, když klient přijde, a končí, když klient odchází.

Když klient znovu přijde, je třeba zahájit novou relaci, ale načíst do ní data o klientovi na základě pro klienta jedinečného cookie, které se mu trvale nainstaluje, když zaškrtne políčko, např. „zapamatovat si mě “.

Práce s relací, když jsou soubory cookie zakázány

Pokud je nastavení session.use_trans_sid nastaveno na 1, pak když jsou cookies zakázány, PHP přenese PHPSESSID pomocí metody GET v řádku požadavku.