Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: И снова SESSIONS

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: два субдомена с общей сессией
NeuroZ
Отправлено: 22 Мая, 2012 - 21:31:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




В общем задавал я ранее похожий вопрос. Сейчас чуть разобрался и понял, что технически должен существовать способ переноса сессии с сайта 1.A.RU на сайт 2.A.RU если у них общие файлы и папки и дб.

Ток вот не нашел ответа как точно это сделать. Подскажите плз.
 
 Top
Bio man
Отправлено: 22 Мая, 2012 - 22:09:43
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




NeuroZ пишет:
у них общие файлы и папки
Зачем тогда что либо переносить? И вопрос - куда?
Может проблема в куках? Домен та должен быть общий для обеих поддоменов если не ошибаюсь.
 
 Top
NeuroZ
Отправлено: 22 Мая, 2012 - 22:15:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Домен итак общий. См. пример. 1.SITE.RU 2.SITE.RU
просто при переходе с одного поддомена на другой - сессия теряется. А точнее начинается новая (отдельная для 2.SITE.RU)
 
 Top
Bio man
Отправлено: 22 Мая, 2012 - 22:28:25
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Ну а я о чем. У тебя в куках 1.SITE.RU когда должно быть .SITE.RU
 
 Top
NeuroZ
Отправлено: 22 Мая, 2012 - 22:46:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Это плохо.. это невозможно (взять сессию с основного сайта)...
Значит тогда прийдется ID продукта передавать....
 
 Top
Bio man
Отправлено: 22 Мая, 2012 - 22:49:17
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




NeuroZ пишет:
это невозможно
Возможно
(Добавление)
session_set_cookie_params пишет:
Cookie domain, for example 'www.php.net'. To make cookies visible on all subdomains then the domain must be prefixed with a dot like '.php.net'.

session_set_cookie_params
 
 Top
NeuroZ
Отправлено: 22 Мая, 2012 - 23:11:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




я имею в виду что на основном сайте обязана быть другая сессия.. Если бы можно было взять ее с первого субдомена и перенести на второй субдомен - то это было бы шикарно...
 
 Top
Bio man
Отправлено: 22 Мая, 2012 - 23:14:18
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Можно костыль написать. Создаешь куку с ид сессии, потом на другом поддомене вытаскиваешь ид и стартуешь сессию с этим ид.
 
 Top
NeuroZ
Отправлено: 22 Мая, 2012 - 23:20:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




А код в студию можно?
 
 Top
LIME
Отправлено: 22 Мая, 2012 - 23:24:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Bio man пишет:
потом на другом поддомене вытаскиваешь ид
как
 
 Top
Bio man
Отправлено: 22 Мая, 2012 - 23:25:08
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




NeuroZ пишет:
А код в студию можно?
А нужно? Попробуй сам решить, алгоритм уже описал
(Добавление)
LIME, а РНР разве не позволяет работать с куками? писать/читать?
 
 Top
LIME
Отправлено: 22 Мая, 2012 - 23:26:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Bio man пишет:
и стартуешь сессию с этим ид
файл не перепишется?
 
 Top
Alho
Отправлено: 22 Мая, 2012 - 23:28:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




Bio man пишет:
а РНР разве не позволяет работать с куками? писать/читать?


Как же так? Чудесно php с печеньками работает.
id вытащить можно из глобального массива $_COOKIE
 
 Top
Bio man
Отправлено: 22 Мая, 2012 - 23:29:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




LIME пишет:
файл не перепишется?
Какой файл? Я не про сессионную куку а про самую обычную (setcookie => $_COOKIE['cook_name'])
(Добавление)
Кстати да, даже создавать ничего не надо будет. Просто $_COOKIE['PHPSESSID'] (конечно имя условное, стоит изменить в прадакшене на уникальное)
файл на test1.ru
PHP:
скопировать код в буфер обмена
  1. $_SESSION['a'] = 'a';
  2. var_dump($_COOKIE['PHPSESSID']);

subdomain.test1.ru
PHP:
скопировать код в буфер обмена
  1. session_start($_COOKIE['PHPSESSID']);
  2. echo $_SESSION['a'];

(Отредактировано автором: 22 Мая, 2012 - 23:35:42)

 
 Top
NeuroZ
Отправлено: 22 Мая, 2012 - 23:44:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Bio man пишет:
LIME пишет:
файл не перепишется?
Какой файл? Я не про сессионную куку а про самую обычную (setcookie => $_COOKIE['cook_name'])
(Добавление)
Кстати да, даже создавать ничего не надо будет. Просто $_COOKIE['PHPSESSID'] (конечно имя условное, стоит изменить в прадакшене на уникальное)
файл на test1.ru
PHP:
скопировать код в буфер обмена
  1. $_SESSION['a'] = 'a';
  2. var_dump($_COOKIE['PHPSESSID']);

subdomain.test1.ru
PHP:
скопировать код в буфер обмена
  1. session_start($_COOKIE['PHPSESSID']);
  2. echo $_SESSION['a'];

1. Нам нужен сначала subdomain.test1.ru, а потом subdomain2.test1.ru
2. + обе страницы ссылаются на один и тот же php файл.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB