Я сталкиваюсь с очень новой и странной проблемой.
Обычно session_start();
инициируется в верхней части каждой страницы, но в моем случае это служит только для цели, когда она помещается под включенным файлом подключения базы данных, что-то вроде,
<?php include 'connection.php'; session_start(); ?>
session_start();
не работает, когда он вставлен наоборот,
<?php session_start(); include 'connection.php'; ?>
В основном значения были инициированы и сохранены в переменных сеанса в другом файле, и они должны быть напечатаны на странице, где я сталкиваюсь с этой странной проблемой.
Какова возможная причина такого странного поведения этой функции?
Если включенный файл является обработчиком сеанса, сеанс должен запускаться ниже обработчика сеанса. В следующем коде 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 ?>