1 Востаннє редагувалося FakiNyan (01.10.2014 14:49:01)

Тема: Поясніть за механізм сесій, та як їх використовувати

Хай. От, що я зрозумів, так це те, що є деякий суперглобальний масив $_SESSION, і що в нього можна записувати дані типу

$_SESSION["user"]="fakinyan";

І є функція session_start() котра дає можливість використовувати отой $SESSION.

Але як мені цим користуватись?
Наприклад, мій сайт вимагає логіну. І от, якщо юзер заходить на сайт вперше і не вводить логіна, то він бачить одну картинку. Але коли вводить логін і входить на сайт, то при наступному його заході в межах якогось часу він буде бачити свою власну сторінку і т.д.
Як це працює? Що для цього тре використовувати? І що то за змінна PHPSESSID? Як її використовувати?

2

Re: Поясніть за механізм сесій, та як їх використовувати

Умовно кажучи коли ви робите старт сесії, то php передає веб бравзеру ід сесії, бравзер то запамятовує (здебільшого в кукісах, але не завжди). Після чого на серваку ви можете писати якісь дані "в сесію". Наприклад після логіну можна писати в сесію ід користувача. Потім коли ви на наступній сторінці звертаєтесь до сесії, то сервер спитає в бравзера чи в того є ід сесії, і якщо є то почне шукати в себе чи є в нього якісь дані асоційовані з тою сесією. Відповідно ви одержите ід користувача і буде знати що він вже залогінений.
Тривалість життя не активних сесій( скільки часу користувач може не заходити на сторінку з живою сесією) встановлюється в конфігурації php. По замовчуванню здається 15 хвилин.

Подякували: FakiNyan1

3

Re: Поясніть за механізм сесій, та як їх використовувати

Vo_Vik написав:

Умовно кажучи коли ви робите старт сесії, то php передає веб бравзеру ід сесії, бравзер то запамятовує (здебільшого в кукісах, але не завжди). Після чого на серваку ви можете писати якісь дані "в сесію". Наприклад після логіну можна писати в сесію ід користувача. Потім коли ви на наступній сторінці звертаєтесь до сесії, то сервер спитає в бравзера чи в того є ід сесії, і якщо є то почне шукати в себе чи є в нього якісь дані асоційовані з тою сесією. Відповідно ви одержите ід користувача і буде знати що він вже залогінений.
Тривалість життя не активних сесій( скільки часу користувач може не заходити на сторінку з живою сесією) встановлюється в конфігурації php. По замовчуванню здається 15 хвилин.

То для кожного користувача створюється свій массив $_SESSION ?

4

Re: Поясніть за механізм сесій, та як їх використовувати

session_start() запускає сессію зі стандартним імям PHPSESSID
session_name('VTrim') зупустить сессію із назвою VTrim

Якщо з імям,то кожен запуск має бути таким:

<?php

session_name('VTrim');

session_start();

Тобто з початку імя,А потім сам запуск.

Подякували: FakiNyan1

5

Re: Поясніть за механізм сесій, та як їх використовувати

VTrim написав:

session_start() запускає сессію зі стандартним імям PHPSESSID
session_name('VTrim') зупустить сессію із назвою VTrim

Якщо з імям,то кожен запуск має бути таким:

<?php

session_name('VTrim');

session_start();

Тобто з початку імя,А потім сам запуск.

То під кожного юзера створюється свій масив $_SESSION?

6

Re: Поясніть за механізм сесій, та як їх використовувати

FakiNyan написав:
VTrim написав:

session_start() запускає сессію зі стандартним імям PHPSESSID
session_name('VTrim') зупустить сессію із назвою VTrim

Якщо з імям,то кожен запуск має бути таким:

<?php

session_name('VTrim');

session_start();

Тобто з початку імя,А потім сам запуск.

То під кожного юзера створюється свій масив $_SESSION?

Так,його ідентифікатор записується в браузер,а на сервері створюється файлик в темповій папці з цим ідентифікатором,всередині якого і лежить та інфа,яку ти записуєш через $_SESSION['test'] = 'information';

Подякували: FakiNyan1

7

Re: Поясніть за механізм сесій, та як їх використовувати

Ну тепер все зрозуміло. А то я думав, що там 1 масив під всіх юзерів XDD

8

Re: Поясніть за механізм сесій, та як їх використовувати

массиви  різні тому  що  юзери різні  з  різних  бровзерів

session_name('VTrim');

а   це  ще  навіщо ?   нехай   спочатку  освоїть  те  чим  користуєтся  переважна  більшість  а  не  різну  екзотику

9

Re: Поясніть за механізм сесій, та як їх використовувати

caballero написав:

массиви  різні тому  що  юзери різні  з  різних  бровзерів

session_name('VTrim');

а   це  ще  навіщо ?   нехай   спочатку  освоїть  те  чим  користуєтся  переважна  більшість  а  не  різну  екзотику

Він запитав про PHPSESSID,я відповів про стандарт та про те,що може бути і не стандарт.