Symfony: передача Session_ID по URL в качестве параметра запроса - PullRequest
1 голос
/ 21 февраля 2011

В приложении установлены Symfony и WordPress.Я могу прочитать сеанс Symfony из WordPress.

Моя цель - создать меню Wordpress (в header.php), выполнив запрос к Symfony:

<?php echo file_get_contents($menu_url ); ?>

Поскольку мне нужно иметьЗаголовок Wordpress, который содержит информацию от пользователя Symfony (имя, ссылки, ....).

Моя идея заключается в том, чтобы отправлять идентификатор сессии в запросе, чтобы symfony напрямую генерировал правильное меню.

Проблема в том, что я не могу найти информацию о том, как обрабатывать session_id, отправленный по URL.

Спасибо за вашу помощь / предложения!

1 Ответ

0 голосов
/ 24 марта 2011

Я пробовал это несколько месяцев назад.

В документации php: http://php.net/manual/en/function.session-id.php

Если вы используете session_id (Your-session-id-мимо-by-url), а затем сsession_start вы можете обрабатывать сеанс для этого идентификатора.Но проблема была в том, что я использую session_autostart в своем приложении, и вы не можете инициировать сеанс, если сеанс еще не начат.:( Это была трудная проблема.

Мое решение: Если у вас есть приложение Symfony и WordPress в одном домене, вы можете сделать запрос AJAX из WordPress в Symfony (вам не нужно передавать идентификатор сеанса, потому чтоидентификатор сессии одинаков в обоих приложениях, не так ли?) Затем вы перехватываете контент через ajax и пишете свой заголовок через JS.

другим способом: сохраняйте всю информацию, необходимую для построения вашего заголовка, в файлах cookie.Пример «имя пользователя». Когда пользователь входит в symfony, вы запускаете этот файл cookie, а затем вы можете использовать его из WordPress через JS. Динамически меняйте элементы заголовка с помощью JS, читая эти файлы cookie. Это мое любимое решение, и я используюэто сейчас.

Ну, извините. Я не могу объяснить лучше, потому что я пишу не так хорошо, как хотелось бы. Но я думаю, что мой ответ может быть полезным.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...