Развитие позволенного государством Заявления С PHP

Взнос 1

Развитие позволенного государством Заявления С PHP

Когда пользователь просматривает вебсайт и занимается серфингом от одной веб-страницы до другого, иногда вебсайт должен помнить действия (e. г. выборы) выполненный пользователем. Например, в вебсайте, который продает DVD, пользователь типично просматривает список DVD и выбирает индивидуальные DVD для контроля в конце сессии посещения магазина. Вебсайт должен помнить, какие DVD пользователь выбрал, потому что отобранные пункты должны быть представлены снова пользователю, когда пользователь проверяет. Другими словами, вебсайт должен помнить государство - то есть отобранные пункты - действий просмотра пользователя.

Однако, HTTP - Не имеющий гражданства протокол и плохо оборудован, чтобы обращаться с государствами. Стандартный вебсайт HTML в основном предоставляет информацию пользователю и ряду связей, который просто направляет пользователя к другим связанным веб-страницам. Эта Не имеющая гражданства природа HTTP позволяет вебсайту копироваться через многие серверы для груза, уравновешивающего цели. Главный недостаток состоит в том, что, рассматривая от одной страницы до другого, вебсайт не помнит государство сессии просмотра. Это делает междеятельность почти невозможной.

Чтобы увеличить междеятельность, разработчик может использовать сессию, обращающуюся с особенностями PHP, чтобы увеличить особенности HTTP, чтобы помнить государство сессии просмотра. В основном 2 пути PHP делает это:

1. Используя печенья
2. Используя Сессии

Следующий взнос обсуждает, как управлять сессиями, используя печенья...

Взнос 2

Печенья

Следующее - типичная последовательность браузера сервера событий, которые происходят, когда печенье используется:

1. Сервер знает, что он должен помнить государство рассматривающей сессии

2. Сервер создает печенье и использует область заголовка Печенья набора в ответе HTTP, чтобы передать печенье к браузеру

3. Браузер читает область печенья в ответе HTTP и хранит печенье

4. Эту информацию печенья передают вдоль будущих коммуникаций сервера браузера и может использоваться в подлинниках PHP как переменная

PHP обеспечивает функцию, названную setcookie (), чтобы позволить легкое создание печений. Синтаксис для setcookie is:int setcookie (название последовательности, [натягивают val], [int expiration_date], [путь последовательности], натягивают область, [int безопасный])

Параметры:

1. название - это - принудительный параметр и используется впоследствии, чтобы идентифицировать печенье

2. ценность - ценность печенья - e. г. если печенье будет использоваться, чтобы сохранить имя пользователя, то параметр ценности сохранит фактическое название - e. г. Джон

3. expiration_date - целая жизнь печенья. После этой даты печенье истекает и непригодно

4. путь - путь обращается к URL, от которого печенье действительно и позволено

5. область - области созданный печенье и позволяют прочитать содержание печенья

6. безопасный - определяет, можно ли печенье послать только через безопасную связь - e. г. SSL позволяют сессии

Следующее - пример, который показывает пользователю, сколько времен определенная веб-страница была показана пользователю. Скопируйте кодекс ниже (и php и html) в файл с. расширение php и проверяет это.

[? php//проверяют, была ли $count переменная связана со счетом cookieif (! isset ($count)) {

$count = 0;} еще {

$count ++;} setcookie ("счет", $count, время () +600, "/", "", 0);?]

[HTML]

[голова]

[название] Обработка Сессии Используя Печенья [/название]

[/возглавляют]

[тело]

Эта страница была показана: [? =$count?] времена.

[/тело] [/HTML]

Следующий взнос обсуждает, как справиться, сессии, используя сессию PHP, обращающуюся с функциями с печеньями, позволили...

Взнос 3

Обработка Сессии PHP - Печенья Позволили

Вместо того, чтобы хранить информацию сессии в браузере с помощью печений, информация может вместо этого храниться в сервере в файлах сессии. Один файл сессии создан и поддержан для каждой пользовательской сессии. Например, если будет три параллельных пользователя, просматривающие вебсайт, то три файла сессии будут созданы и поддержаны - один для каждого пользователя. Файлы сессии удалены, если сессия явно закрыта подлинником PHP или процессом коллекции мусора демона, предоставленным PHP. Хорошая практика программирования призвала бы, чтобы сессии были закрыты явно в подлиннике.

Следующее - типичная последовательность браузера сервера событий, которые происходят, когда обработка сессии PHP используется:

1. Сервер знает, что он должен помнить государство рассматривающей сессии

2. PHP производит sssion удостоверение личности и создает файл сессии, чтобы хранить будущую информацию как требуется последующими страницами

3. Печенье произведено wih удостоверение личности сессии в браузере

4. Это печенье, которое хранит удостоверение личности сессии, прозрачно и автоматически посылают в сервер для всех последующих запросов к серверу

Следующий обращающийся с сессией пример PHP достигает того же самого результата как предыдущий пример печенья. Скопируйте кодекс ниже (и php и html) в файл с. расширение php и проверяет это.

[? php//начинает sessionsession_start ();

//сообщает PHP, что информацию счета нужно помнить на сессии fileif (! session_is_registered ("счет")) {

session_register ("счет");

$count = 0;} еще {

$count ++;}

$session_id = session_id ();?]

[HTML]

[голова]

[название] Обработка Сессии PHP - Позволенный печеньем [/название]

[/возглавляют]

[тело]

Текущая сессия id: [? =$session_id?]

Эта страница была показана: [? =$count?] времена.

[/тело] [/HTML]

Резюме функций, что PHP предусматривает обработку сессии:

1. булевый start_session () - калибрует сессию

2. натяните session_id ([натягивают id]) - или возвращает текущую сессию id или определять сессию id, чтобы использоваться, когда сессия создана

3. булевый session_register (смешанное название [смешанный...]) - регистрирует переменные, которые будут сохранены в файле сессии. Каждый параметр, который передают в функции, является отдельной переменной

4. булевый session_is_registered (натягивают variable_name) - чеки, если переменная была ранее зарегистрирована, чтобы быть сохраненной в файле сессии

5. session_unregister (натягивают varriable_name) - нерегистрирует переменную от файла сессии. Незарегистрированные переменные больше не действительны для ссылки на сессии.

6. session_unset () - сбрасывает все переменные сессии. Важно отметить, что все переменные остаются зарегистрированными.

7. булевый session_destroy () - разрушает сессию. Это противоположно из функции start_session.

Следующий взнос обсуждает, как управлять сессиями, используя сессию PHP, обращающуюся с функциями, когда печенья - инвалиды...

Взнос 4

Обработка Сессии PHP - Без Печений

Если печенья - инвалиды в браузере, вышеупомянутый пример не может работать. Это - то, потому что, хотя файл сессии, который хранит все переменные, сохранен в сервере, печенье все еще необходимо в браузере, чтобы сохранить удостоверение личности сессии, которое используется, чтобы идентифицировать сессию и ее связанный файл сессии. Самый общий путь вокруг этого состоял бы в том, чтобы явно пасовать назад удостоверение личности сессии к серверу от браузера как параметр вопроса в URL.

Например, подлинник PHP производит запросы, последующие за запросом start_session в следующем format:http://www. yourhost. com/yourphpfile. php? PHPSESSID = [фактическое удостоверение личности сессии]

Следующее - выдержки, которые иллюстрируют обсуждение:

Вручную построение URL:

Построение URL, используя СИДА:

Используемый с разрешением автора.

Эта статья написана Джоном L.