Intereting Posts
Как получить результат инструкции после инструкции EXECUTE в mySQL? Почему Apache не обрабатывает несколько запросов одновременно из одного браузера PDO не возвращает результатов, тогда как командная строка MySQL возвращает ожидаемый результат Разрешить пользователям обновлять браузер без всплывающего окна «Подтверждение повторной отправки формы» Получить изображение src из ответа ajax PHP: задайте значение многомерного ассоциативного элемента массива, используя путь, определенный в отдельном массиве Удалить пустые теги из XML с помощью PHP Неустранимая ошибка: вызов функции-члена get () для не-объекта в C: \ wamp \ www \ ci \ application \ models \ site_model.php в строке 6 Конкатенация, несколько параметров или sprintf? Персонализация Laravel, связанная с проблемой внешнего ключа Laravel 5 InvalidArgumentException в строке FileViewFinder.php 137: View не найден Преобразование удаленных относительных путей в абсолютные пути Извлечение подстроки, которая обертывается некоторыми символами Добавление страницы администратора в OpenCart версии 2 php form: невозможно обновить базу данных, запрос с множественным соединением

PHP session_start (); не работает, когда инициируется в верхней части страницы

Я сталкиваюсь с очень новой и странной проблемой.

Обычно session_start(); инициируется в верхней части каждой страницы, но в моем случае это служит только для цели, когда она помещается под включенным файлом подключения базы данных, что-то вроде,

 <?php include 'connection.php'; session_start(); ?> 

session_start(); не работает, когда он вставлен наоборот,

 <?php session_start(); include 'connection.php'; ?> 

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

Какова возможная причина такого странного поведения этой функции?

Related of "PHP session_start (); не работает, когда инициируется в верхней части страницы"

Если включенный файл является обработчиком сеанса, сеанс должен запускаться ниже обработчика сеанса. В следующем коде connection.php обрабатывает сеанс и создает соединение с базой данных. Поэтому следующий код должен инициировать сеанс правильно.

 <?php include 'connection.php'; ///// is a session handler session_start(); ///// shall serve the purpose. ?> 

с другой стороны, сеанс не будет инициироваться, когда коды помещаются в обратном порядке, например,

 <?php session_start(); ///// shan't serve the purpose. include 'connection.php'; ///// is a session handler ?>