Упълномощаване за достъп на PHP
Трябва да използвате много интересен механизъм на сесията, който се появи в четвъртата версия на PHP.
„Сесия“ е донякъде абстрактно понятие, което означава нещо като „завършен период на работа със сайта“. Например сесията може да включва действия като „идване на сайта - зареждане на данни - напускане на сайта“. Понякога определенията на сесия се различават по своите формулировки, но същността е нещо подобно.
Така че - с помощта на PHP команди за „сесийна поддръжка“, когато посетител влезе в сайта, можете да запомните някои променливи и след това да ги прочетете или промените на други страници на този сайт. В същото време, моля, обърнете внимание, че не самите променливи се предават в браузъра на посетителя, а определена парола, чрез която сървърът по-късно ще разпознае и възстанови точно стойностите на променливите, зададени за този посетител .
С други думи, механизмът на сесията в PHP работи по този начин. Когато посетител влезе в сайта и са зададени променливи за него (независимо дали ги въвежда сам или, да речем, те са взети от базата данни), тогава командите за стартиране и регистриране на сесията запазват тези променливи на определено място на сървъра себе си (в специален файл в папката с временни файлове на сървъра, фиг. 8.7, 8.8).
Всеки път, когато се създава нов идентификатор на сесия. Благодарение на добрия алгоритъм за генериране вероятността да съществува набор от съхранени променливи за всяка последователност от символи на даден сървър е незначителна. Вероятността две идентификатори на сесии да са еднакви е още по-малка вероятността, така че различните посетители на сайта няма да могат да получат стойностите на променливите един на друг.
Несъмнено набор от запазени променливи, свързани с една сесия, няма да съществува вечно на сървъра. Параметрите на PHP конфигурационния файл - php.ini - указват какъв живот е зададен за бисквитка с идентификатор на сесия (по подразбиране 0 - т.е. до затваряне на прозореца на браузъра и отваряне на всички прозорци от него), както и след в колко часа данните за сесията от файловете на временната папка се изтриват физически (Фигура 8.11). Освен това има специална команда "унищожи сесията", която при изпълнение унищожава данните за сесията, съхранявани в папката с временни файлове и по този начин обезсилва идентификатора на сесията. Параметрите на зададените бисквитки, в частност, техният „живот“ също могат да бъдат зададени със специална команда в скрипт в PHP, но времето за съхранение на данните от сесията в папката с временни файлове се определя от параметър в php.ini, така че когато използвате виртуален хостинг, не винаги ще можете да конфигурирате работата със сесии напълно по начина, по който бихте искали.