Не работает выход - сессии не совподают

Автор AtonS, 18 мая 2012, 03:03:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

AtonS

Здравствуйте!

wallbash

Всё я сдался с поиском (4 дня искал) - нет решения для моей проблемы ((

Подключаю на своем сайте forum/SSI.php

Вставляю ssi_logout();

На сайте появляется кнопочка Выход но почему то там не session_value а old_url из базы! Т.е. на форуме и сайте отличаются ссылки выхода и соответственно пишет Не удалось проверить сессию. Пожалуйста, выйдите из форума и зайдите снова..

Попробывал сделать print_r($context); - выдало все переменные и там также не совподает сессия.

Пробывал всё:
в настройках ставил галку Использовать отдельные cookies для поддоменов, Хранить сессии в базе данных
менял название Cookie
Чистил кэш и куки
проверял во всех браузерах и на разных компах
переносил на разные хостинги и даже на сервер - везде одинакого

и ничего.

Пожалуйста, помогите разобраться в проблеме.

Версия форума 2.0.2
Локализация форума utf-8)
Используемая тема оформления: стандартная
модули никакие не ставил

maestrosite.ru

1. Как организован вход? За пользователей форум отвечает?
2. Форум в папке или на поддомене?
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

AtonS

За пользователей отвечает форум. Форум в папке site.ru/forum.

Подключаю в самом вверху require($_SERVER['DOCUMENT_ROOT'].'/forum/SSI.php');

Вставляю в нужное место ssi_logout();

Выводит ссылку Выход но почему то берет из базы old_url

Сегодня даже пробывал заного переустановить форум - не помогло.

maestrosite.ru

Цитата: AtonS от 18 мая 2012, 14:13:10
Подключаю в самом вверху require($_SERVER['DOCUMENT_ROOT'].'/forum/SSI.php');
$_SERVER['DOCUMENT_ROOT'] - в данном случае Зло.

Цитата: AtonS от 18 мая 2012, 14:13:10
Вставляю в нужное место ssi_logout();
Даже для гостя такое выводите? И не нигде ssi_login() не используете?
Что показывает ssi_welcome() ?
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

AtonS

$_SERVER['DOCUMENT_ROOT']  - почему зло? А как надо?

Конечно вывожу регистрацию и делаю проверку зарегестрирован или нет. Я просто как можно проще объяснил в чем проблема.

ssi_welcome() - работает нормально - но не перенаправляет на сайт после входа так как сессия другая пишется.

Я поместил массив в $data=ssi_welcome($output_method='array');

И уже данные вывел как мне надо но соответственно
$_SESSION["logout_url"]="http://www.site.ru/"; не работает

maestrosite.ru

Цитата: AtonS от 18 мая 2012, 15:18:56
$_SERVER['DOCUMENT_ROOT']  - почему зло? А как надо?
Лишняя возможность для ошибки. Параметр из конфигурации, например, SMF - $boarddir, joomla - JPATH_BASE

Цитата: AtonS от 18 мая 2012, 15:18:56
ssi_welcome() - работает нормально - но не перенаправляет на сайт после входа так как сессия другая пишется.
Сессия - это сессионная переменная или содержимое $_SESSION ?
Вы не описали как организован вход, поэтому далее сильно предположительно, что cms сайта перехватывает запись сессии в хранилище. Вопрос только в том, почему вы оказываетесь залогиненым в двух сессиях одновременно.
При загрузке страниц сайта и форума кукис PHPSESSID одинаковый? Путь для кукиса один?
Если сделать "выход" на форуме, то на сайте остаётесь залогиненым или превращаетесь в гостя?
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

AtonS

#6
ЦитироватьЛишняя возможность для ошибки. Параметр из конфигурации, например, SMF - $boarddir, joomla - JPATH_BASE

А если просто полный путь прописать локальной директории?

ЦитироватьСессия - это сессионная переменная или содержимое $_SESSION ?
Вы не описали как организован вход, поэтому далее сильно предположительно, что cms сайта перехватывает запись сессии в хранилище. Вопрос только в том, почему вы оказываетесь залогиненым в двух сессиях одновременно.
При загрузке страниц сайта и форума кукис PHPSESSID одинаковый? Путь для кукиса один?
Если сделать "выход" на форуме, то на сайте остаётесь залогиненым или превращаетесь в гостя?

Если выйти с форума то и на сайте выходит нормально.

Так организовна вход:




$data=ssi_welcome($output_method='array');
$data2=ssi_logout($redirect_to = 'http://www.site.ru/', $output_method = 'array');

if ($data["is_guest"]!=1)
{
$_SESSION["logout_url"]="http://www.site.ru/";

$welcome="Здравствуйте, <strong><a href='/forum/index.php?action=profile;u=".$data['id']."' title='".$user_info['username']."'>".$data['username']."</a></strong>!<br/><div style='font-size: 10px'>
У Вас <a href=\"/forum/index.php?action=pm\"><strong>".$data["messages"]."</strong> сообщений</a>,<br/> <strong><span style='color:#006600;'>".$data["unread_messages"]."</span></strong> новых.<br/>".$data2."</div></div>";
} else {
$_SESSION["login_url"]="http://www.site.ru/";
$welcome="<div style='font-size: 10px;'><form action=\"/forum/index.php?action=login2\" method=\"post\" accept-charset=\"".$context["character_set"]."\"><a href='/forum/index.php?action=register' title='Регистрация'>
<img src='/pic/quest.png' alt='Гость' border='0' title='Регистрация' style='float: left; margin-top: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 10px;'/></a>
<span class='parol'>Логин:</span> <input style='width: 120px;' type=\"text\" id=\"user\" name=\"user\" size=\"9\" />&nbsp;
<span class='parol2'>Пароль:</span> <input style='width: 120px;' type=\"password\" name=\"passwrd\" id=\"passwrd\" size=\"14\" />
<br/>
<input type=\"hidden\" name=\"cookielength\" size=\"4\" maxlength=\"4\" value=\"60\" />
<div class='small_tx'><input type='checkbox' name='cookieneverexp' class='check' onclick='this.form.cookielength.disabled = this.checked;' checked='checked' style='width: 10px;vertical-align: middle;' /><span style='padding-top:2px;'>Запомнить меня</span></div>
<input style='width: 56px; font-size: 10px; float: right; margin-right: 10px;'  type=\"submit\" value=\"Войти\" /><br/><br/><div class='small_tx2'>
<a href=\"/forum/index.php?action=register\" title=\"Регистрация на сайте\">Регистрация</a><br/>
<a href='/forum/index.php?action=reminder' title='Забыли пароль?'>Забыли пароль?</a>

</div>

</form></div>";           
}
echo $welcome;


PHPSESSID - а как проверить?

Путь для кукиса один? -  где у форума хранятся? И где лучше поменять у сайта или форума путь до кукиса?


Кстати только что заметил, что если заходишь через форум а не сайт - на форуме ты залогинен а на сайте нет!


maestrosite.ru

Цитата: AtonS от 18 мая 2012, 23:59:58
А если просто полный путь прописать локальной директории?
Хотите потренироваться в исправлении ошибок, пишите так.

Цитата: AtonS от 18 мая 2012, 23:59:58
Если выйти с форума то и на сайте выходит нормально.
...
Кстати только что заметил, что если заходишь через форум а не сайт - на форуме ты залогинен а на сайте нет!
Вы уж проверьте что на самом деле происходит. Гость на сайте и на форуме -> вход с сайта/форума -> залоненены на сайте/форуме? Аналогично все варианты для выхода. Убедитесь, что у вас проблема не сводится к тому, что SSI используется не от вашего форума, а из соседней папки.

Цитата: AtonS от 18 мая 2012, 23:59:58
Так организовна вход:
Это форма логина. Вход, если я правильно понял, выполняется строго на форуме, на сайте только отображается форма либо приветствие. Мосты, представления, переадресации не используются.

Цитата: AtonS от 18 мая 2012, 23:59:58
PHPSESSID - а как проверить?

Путь для кукиса один? -  где у форума хранятся? И где лучше поменять у сайта или форума путь до кукиса?
В браузере вашем посмотрите, какие кукисы и для каких адресов выставлены, какие передаются при запросе страниц. Можете, конечно, и сканер трафика запустить, если так привычнее.
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

AtonS

Цитата: maestrosite.ru от 19 мая 2012, 07:29:46
Вы уж проверьте что на самом деле происходит. Гость на сайте и на форуме -> вход с сайта/форума -> залоненены на сайте/форуме? Аналогично все варианты для выхода. Убедитесь, что у вас проблема не сводится к тому, что SSI используется не от вашего форума, а из соседней папки.

Проверил. SSI используется с форума.

Если выйти с форума, то выходит и на сайте. На сайте выход не работает.

Вход с сайта - входит и перебрасывает на форум.

ЦитироватьЭто форма логина. Вход, если я правильно понял, выполняется строго на форуме, на сайте только отображается форма либо приветствие. Мосты, представления, переадресации не используются.

Да. На сайте представлена форма входа. Хотелось бы, чтобы переадресовывал на сайт но не работает и это.

ЦитироватьВ браузере вашем посмотрите, какие кукисы и для каких адресов выставлены, какие передаются при запросе страниц. Можете, конечно, и сканер трафика запустить, если так привычнее.

:)
  Не знаю как это сделать.


maestrosite.ru

Антон, вы меня удивляете! Делаете сайты на заказ, но не знаете как посмотреть на своём сайте выставляемые кукисы.

Обсуждаемая интеграция от радужного чем отличается?
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

AtonS

#10
Вот незадача - делаем бесплатно Школе интернат и что то тупить стал - всю ночь сидел делал и под утро писал уже ответ в этом форуме )). Да, Радужный был написан полностью в ручную и уже все подзабыл. Здесь проблема в используемой CMS.

Проблема решилась просто

до подключения SSI вставил
session_destroy();

Теперь появилась другая проблема - смарти шаблонов не работает с подключенным SSI, но это уже совсем другая история...