The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как  работают сессии в РНР?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"Как  работают сессии в РНР?"  
Сообщение от MakKlays email(ok) on 24-Янв-08, 18:43 
Привет, всем!

Подскажите, как работают сесии в РНР?
Есть задача: регистрирую пользователя на сайте или он просто входит (ранее зарегистрирован)...
Для зарегистрированных показываю скрытые формы, для не зарегистрированных не показываю...
Как работают сесии? Я передаю сессией id юзера (чтобы знать на других страницах кто такой и как его зовут)... А как прочитать значение из сессии? Вот и вся суть вопроса...
Как создать сесию и передать её на другую страницу, а там прочитать...
И еще есть вопрос: а когда используют куки и в каких целях (основные понятие, где используют?) возможно мне нужно куки использовать для этой задачи???

Буду очень признателен и благодарен!

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как  работают сессии в РНР?"  
Сообщение от rc.conf email on 25-Янв-08, 17:41 
Топик не читал - сесси вырываются из глобальныйх пермменх типа $_Глобаль =) он есть масив ассациативный если можно так сказать  если я не ошибаюсь $_SESSION
тоесть ест ьу тебя сэссия name123abc - тогда выдернуть её мона - $_SESSION['name123abc']


СЭсси э то теже куки по сути толко живут эти куки по времени пока не будет закнчена работа с преложением в нашем случае - пока не будет закрыто последне коно Осла - ну или любого другого браузира =)куки могут жить и год =) но они лежать ю юзверя на компе - и значит к ним можно получить доступ ... ну в общем  вё зависит от задач...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как  работают сессии в РНР?"  
Сообщение от angra (ok) on 25-Янв-08, 21:46 
Моя твоя не понимать, наверное твоя не уметь говорить слова, а еще моя думать что твоя не знать ничего про сессии.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Как  работают сессии в РНР?"  
Сообщение от rc.conf email on 30-Янв-08, 02:00 
>Моя твоя не понимать, наверное твоя не уметь говорить слова, а еще
>моя думать что твоя не знать ничего про сессии.

у какой ты.... ну я прочитал твой пост - много теории оч =) или я просто ленивый всё это расписывать... вообще 8 лет назад начал на пхп писать и как-то у мну проблем с разработокой небыло никогда =)  п.с. с Тривиальными задачами надо в книжку лезть =) как мне кажется=) а если уже там не ясно то общаться=)

П.с. если Вы знаете много больше меня - я буду очень рад если вы поможите мне в нахождении ответа на вопрос - в сосденем топике - по поводу отсылки пакетов в чужой сокет...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Как  работают сессии в РНР?"  
Сообщение от angra (ok) on 30-Янв-08, 07:50 
я не говорил, что знаю больше вас, определять общий багаж знаний человека на основе постов в инете как минимум нелогично. Просто ваш пост является издевательством над русским языком, плюс в нем допущен ряд фактических ошибок. Если честно не вижу смысла что-либо добавлять в  топике про сокеты, там и так все сказано.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как  работают сессии в РНР?"  
Сообщение от angra (ok) on 25-Янв-08, 22:08 
Для начала стоит понять механизм сессий вообще, без привязки к языку.
1. В протоколе http понятие сессии отсутствует, это протокол без сохранения состояния, то есть в общем случае два обращения от одного клиента к серверу независимы друг от друга и второе не может знать о первом. Такое положение дел никого не устраивало и одним из решения стали cookies.
2. Куки позволяют при помощи специальных заголовков сохранить на стороне клиента какую либо информацию переданную сервером, при каждом следующем обращении к серверу клиент передает все отсносящиеся к нему куки. Куки могут иметь разное время жизни.
3. Куки ограничены объемом и небезопасны. Для преодоления этой проблемы начали использовать следующий подход: сервер создает у себя некое хранилище(запись в базе данных, файл, структура в памяти итд) и генерирует для него некий код. Этот код передается клиенту в куке. При каждом обращении от клиента по этому коду находится хранилище. Все скрипты на сервере хранят специфическую для этого клиента информацию в этом хранилище. Таким образом у клиента хранится только код хранилища, причем код генерируется так, что шансы на его угадывание(тем кто хочет выдать себя за другого клиента) близки к нулю, а перебор всех вариантов нереален в наше время. Также такой подход позволяет при желании ограничить время жизни сессии на стороне сервера за счет уничтожения хранилища. Также стоит заметить что куки не единственный способ хранить код, можно использовать скрытые поля, дополнительные параметры в урле, яваскрипт итд.
4. Сессии не являются стандартом, это метод решения определенной задачи, реализации могут очень отличаться. Язык PHP предоставляет одну из реализаций(файлы в качестве хранилища, куки и модификация урлей для хранение идентификатора) как стандартную, причем очень хорошо ее документирует. Так что открывайте мануал по вашей версии и читайте раздел описывающий сессии, там вы найдете примеры как начинать сессии, как записывать в них произвольные данные и как их оттуда читать.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Как  работают сессии в РНР?"  
Сообщение от MakKlays email(ok) on 29-Янв-08, 15:11 
Моя твоя понимать! Спасибо, что ответил...
Привет!
Про сессии имею понятие, читал...
Не могу у себя на сайте сделать регистрацию... (регистрацию сделал, в базу добавляет из базы берет и сравнивает)... Масив $_SESSION['user'] тоже создает...
Проблема в том, что не могу прочитать значение с этого массива когда юзер переходит на другую страницу   Вот собственно и все! Не могу понять, может там Куки нужно приминять (зачем вообще куки? когда их используют?)...
Как задать время жизни сессии? А кукам?  - вот это не понимаю...
Буду рад если подскажишь и ответишь!
Еще раз спасибо, что ответил )
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Как  работают сессии в РНР?"  
Сообщение от angra (ok) on 29-Янв-08, 15:29 
В каждом php скрипте, который работает с сессиями должно присутствовать session_start();, причем обычно в самом начале, по крайней мере до любых обращений к $_SESSION. Самому с куками работать не надо, механизм сессий в php делает это автоматически, как и все остальные действия описанные в предыдущем посте.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Как  работают сессии в РНР?"  
Сообщение от MakKlays email(ok) on 29-Янв-08, 16:15 
Я добавляю session_start(); перед обращением $_SESSION, но мне выводит ошибку, что-то на подобии того, что что-то уже было послано итра-ля-ля причем-то там еще вспоминает session_start ... (точный текст сейчас не напишу)
Что это означает? Я так понимаю, что сессия уже была создана? (вот этого я в упор не могу понять!)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Как  работают сессии в РНР?"  
Сообщение от angra (ok) on 29-Янв-08, 16:19 
Ставьте это первой командой в скрипте и избавитесь от проблем. Скорее всего перед session_start у вас уже был какой-то вывод, а как следствие не могут быть посланы http заголовки. То есть например вот так нельзя:
<html>
<body>
<?php session_start();
....

А вот так можно:
<?php session_start();?>
<html>
<body>
<?php
....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Как  работают сессии в РНР?"  
Сообщение от MakKlays email(ok) on 29-Янв-08, 16:29 
Очень даже возможно, я попробую вечером :)))
Ну аж настроение поднялось! СПАСИБО! ;)
Напишу как оно завтра...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Как  работают сессии в РНР?"  
Сообщение от MakKlays email(ok) on 31-Янв-08, 20:33 
Привет!
Выдает следующую ошибку:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/virtual/...box_gallery.php:1) in /var/www/virtual/...box_gallery.php on line 1

Выдает эту ошибку на странице, когда перехожу со страцы где был введен пароль и логин...
Там все хорошо :) а здесь ошибка... Почему? Что она означает? Что мне делать, чтобы её убрать???

Спасите! ;)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Как  работают сессии в РНР?"  
Сообщение от Fisher (??) on 02-Фев-08, 19:02 
>[оверквотинг удален]
>Выдает следующую ошибку:
>Warning: session_start(): Cannot send session cache limiter - headers already sent (output
>started at /var/www/virtual/...box_gallery.php:1) in /var/www/virtual/...box_gallery.php on line 1
>
>Выдает эту ошибку на странице, когда перехожу со страцы где был введен
>пароль и логин...
>Там все хорошо :) а здесь ошибка... Почему? Что она означает? Что
>мне делать, чтобы её убрать???
>
>Спасите! ;)

http://www.phpfaq.ru/header

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру