Вы должны позвонить session_start()
, прежде чем появится какой-либо вывод. документация примечания
Чтобы использовать сеансы на основе файлов cookie, необходимо вызвать session_start () перед выводом чего-либо в браузер.
Как выМы представили ваш код, самое первое, что загружается, это front.php
, который включает logic.php
, который вызывает класс в classpage.php
.(Я не вижу, как на эту страницу ссылаются - будь то с помощью include или spl.
У вас есть правильная идея отделить вашу презентацию от логики, но вы получили порядок в обратном порядкеСамое первое, что должно произойти, - это выполнение и загрузка соответствующего php-кода, при этом презентация является самой последней вещью, которая происходит. К сожалению, самые первые вещи, которые происходят в вашем скрипте, это то, что он немедленно запускает вывод..
Решение состоит в том, чтобы направлять все запросы через index.php (посмотрите, как сделать seo-friendly URL), и оттуда используйте «front controller» или «router».
Если не считать этого, вам нужно включить короткий раздел php поверх front.php, чтобы запуск сеанса вызывался до вывода.
<?php
session_start();
include 'logic.php'; // don't print anything from your logic; pass back a variable to print below.
?>
<!DOCTYPE html>
<html lang="">
....