Включить файл - ошибка сеанса - PullRequest
0 голосов
/ 26 января 2011

Для небольшого виджета комментариев. Я пытаюсь включить этот виджет в любой файл .php по желанию - наиболее практичным для пользователя способом:

<?php include "comments.php"; ?>

Я пытаюсь создать admin-login-panel прямо в виджете, чтобы предложить зарегистрированному администратору удалить сообщения (и другие опции).

Проблема в : теперь я должен начать использовать $_SESSION, чтобы администратору не приходилось входить снова и снова при каждом изменении / обновлении страницы. Но, используя сеансы внутри виджета, я вижу только заголовок и сеанс ПРЕДУПРЕЖДЕНИЯ ...olready started... .... и т. Д.

НЕ является опцией заставить пользователя размещать на своих страницах top 'session_starts', я бы хотел, чтобы все было просто. Просто php- include виджет.

Могу ли я продолжать пробовать сеансы php или попробовать что-то еще? Заранее благодарим за любые предложения.

Ответы [ 2 ]

1 голос
/ 26 января 2011

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

Обычно это можно сделать, изменив значение конфигурации PHP для каталога с помощью файла .htaccess, например:

<IfModule mod_php5.c>
  php_flag session.auto_start on
</IfModule>

Кроме того, я бы рекомендовал ссылаться на корневой путь вашего веб-сайта во включении, чтобы вы могли использовать этот комментарий в заявлении включения на любой странице, не добавляя кучу «../../../» к пути .

<?php 
   include($_SERVER['DOCUMENT_ROOT'] . "/header.php"); 
?>
1 голос
/ 26 января 2011

Хорошо, с той информацией, которую вы нам предоставили, вот в чем ваша проблема: PHP Sessions использует специальный файл cookie, который отправляется в заголовке.Так что вы должны выполнить session_start ();перед любым другим контентом он отправляется в браузер, поэтому он может установить cookie в заголовке.Так что, к сожалению, похоже, что вам придется начинать сеанс вне их включения виджета.

Почему запуск сеанса вне виджета не вариант?У вас нет контроля над другими страницами PHP?

...