Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача сессии
 
 автор: bronenos   (11.03.2007 в 10:15)   письмо автору
 
 

Имеет ли мне смысл делать так:
<?
function s_start()
{
  
session_name ('sid');
  
session_start();
  list (
$sname$sid) = explode ('='SID);
  
setcookie ($sname$sid);
  
output_add_rewrite_var ($sname$sid);
}
?>

Или положиться на PHP все же?
Просто не у всех наверное в php.ini стоит то, что нужно, и я это делаю в целях максимальной совместимости...
Кто что скажет?

   
 
 автор: cheops   (11.03.2007 в 14:57)   письмо автору
 
   для: bronenos   (11.03.2007 в 10:15)
 

Цель какая? Буферизация?

   
 
 автор: bronenos   (11.03.2007 в 20:16)   письмо автору
 
   для: cheops   (11.03.2007 в 14:57)
 

Цель - быть уверенным, что идентификатор при любых use_trans_sid, use_cookies и так далее будет предоставлен
Пока проблем не возникало

   
 
 автор: dim0s   (11.03.2007 в 20:43)   письмо автору
 
   для: bronenos   (11.03.2007 в 20:16)
 

Помоему, чтобы быть УВЕРЕННЫМ, надо просто передавать SID по каждой ссылке в GET или POST запросе.
Куки запросто могут быть отключены в настройках броузера.

   
 
 автор: bronenos   (11.03.2007 в 21:09)   письмо автору
 
   для: dim0s   (11.03.2007 в 20:43)
 

эти тоже передаю (output add rewrite var)

   
 
 автор: dim0s   (11.03.2007 в 22:36)   письмо автору
 
   для: bronenos   (11.03.2007 в 21:09)
 

Ну да, передаете, а где обрабатываете?
Думаю в начале каждой страницы надо ставлять что-то типа:

<?
if ((defined("SID")) && (constant("SID")!= "")){$sesionid=SID;}
else
{
if(isset(
$_GET['sid']) && !empty($_GET['sid'])){$sesionid=$_GET['sid'];} 
else {
$sesionid "";}
}
?>

И в вашей функции затем ужу использовать переменную sesionid.
Помоему, уж точно, чего нибудь да передасться :)

   
 
 автор: bronenos   (12.03.2007 в 00:40)   письмо автору
 
   для: dim0s   (11.03.2007 в 22:36)
 

не слишком ли?
SID всегда ведь вроде существует

   
 
 автор: dim0s   (12.03.2007 в 03:17)   письмо автору
 
   для: bronenos   (12.03.2007 в 00:40)
 

:) Может и слишком, но Вы же хотели быть уверенным.
SID существует не всегда, а генерируется ПXП -ом только тогда, когда отключены Cookies.
...ups.
Тогда получается, что брать данные из SID и пытаться запихнуть их в Cookies.... -они ж отключены,если есть SID.

   
 
 автор: dim0s   (12.03.2007 в 05:33)   письмо автору
 
   для: bronenos   (12.03.2007 в 00:40)
 

Вообщем я вот нашел то, что у меня работает уже давно:

<?php
session_start
();
if ((
defined("SID")) and (constant("SID")!= "")){$sesionid ='&'.SID;}else{$sesionid "";}
?>

И все ссылки в коде в таком вот виде:
echo"<a href=\"myfile.php?action=list".$sesionid."\">link</a>";

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

Вообщем не стоит наверно со всем этим заморачиваться. Запускайте сессию и все. Кто вырубил куки - сам виноват :).

   
 
 автор: Valick   (12.03.2007 в 09:00)   письмо автору
 
   для: dim0s   (12.03.2007 в 05:33)
 

SID существует не всегда, а генерируется ПXП -ом только тогда, когда отключены Cookies.
...ups

Как это не всегда? Вы нарушаете гармонию меня и ПХП и заставляете сомневаться за мой рассудок)))
Если куки включены, то СИД передается туда, а если отключены то через УРЛ в качестве параметров ГЕТ и ПОСТ.

   
 
 автор: dim0s   (12.03.2007 в 14:29)   письмо автору
 
   для: Valick   (12.03.2007 в 09:00)
 

Я видимо просто не очень точно выразился. Речь шла о КОНСТАНТЕ SID.
КОНСТАНТУ SID PHP генерирует только если отключены Cookies.
Если включены - НЕ БУДЕТ генерировать КОНСТАНТУ SID и задействует Cookies.

   
 
 автор: Trianon   (12.03.2007 в 14:38)   письмо автору
 
   для: dim0s   (12.03.2007 в 14:29)
 

А кто ж её, по-вашему, сгенерирует? :)))

   
 
 автор: dim0s   (12.03.2007 в 14:48)   письмо автору
 
   для: Trianon   (12.03.2007 в 14:38)
 

Ну уж и не знаю. PHP и все тут. :)
Вот могли-бы и обьяснить.

   
 
 автор: Trianon   (12.03.2007 в 14:53)   письмо автору
 
   для: dim0s   (12.03.2007 в 14:48)
 

Session identifier в обоих случаях генерируется совершенно одинаково. Когда не пришел от клиента. Не пришел ни из поля Cookie заголовка запроса, ни из GET-параметра, ни из скрытого поля формы.

   
 
 автор: dim0s   (12.03.2007 в 15:07)   письмо автору
 
   для: Trianon   (12.03.2007 в 14:53)
 

Session identifier -не понятно. Что это?
Константа с именем SID содержит имя группы сессии и ее идентификатор в формате имя=идентификатор.
Это понятно.
Но она и правда существует только при отключенных куках. Я проверял :)

   
 
 автор: dim0s   (12.03.2007 в 17:03)   письмо автору
 
   для: Trianon   (12.03.2007 в 14:53)
 

Ответе пожалуйста. Хочется всеж разобраться с этим вопросом.
Session identifier - индификатор сессии. Понятно , что это некое число.
Но числа, как бы сами по себе не бывают. Они являются или там порядковым номером, значением переменной, элементом массива или еще чем-нибудь.
Что есть Session identifier и где?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования