Есть файл index.php `
<?php
session_start();
if (isset($_SESSION['privilege'])) {
$privilege = $_SESSION['privilege'];
}
require_once ('classes/user.php');
$user = new User();
?>
<!DOCTYPE html>
<html>
<head>
<title>users.loc</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</head>
<body>
<header>
<h1>Пользователи</h1>
<div id="menu">
<nav>
<ul id="menu-list">
<?php if (!isset($privilege)): ?>
<li class="menu-list-item"><a id="toregistration" href="#">Регистрация</a></li>
<li class="menu-list-item"><a id="tologin" href="#">Авторизация</a></li>
<?php
else: ?>
<li class="menu-list-item"><a id="toprofile" href="#">Мой профиль</a></li>
<li class="menu-list-item"><a id="toall" href="#">Пользователи</a></li>
<li class="menu-list-item"><a id="exit" href="#">Выход</a></li>
<?php
endif; ?>
</ul>
</nav>
</div>
</header>
<div id="content">
</div>
</body>
</html>
`
Через AJAX подключаю файл profile.php `
$('#toprofile').click(function() {
var jqxhr = $.get("../includes/profile.php", {
})
.done(function(data) {
$('#content').html(data);
});
});`
Сам файл profile.php
<div id="register" class="animate form">
<h2> Профиль </h2>
<div>
<img id="profile_photo" src="../img/img.jpg">
</div>
<div>
<p>
Логин: <?php echo $_SESSION['login'] ?>
</p>
<p>
ФИО: <?php echo $_SESSION['name'] ?>
</p>
<p class="signin button">
<input id ="register_button" type="submit" value="Изменить имя"/>
</p>
</div>
</div>
Проблема в том, что файл profile.php не видит сессию, а при попытке session_start() выводит ошибку Cannot start session when headers already sent. Переменные сессии устанавливаются в другом файле и спокойно вызываются в index.php
Вы не можете стартовать сессию, если уже был какой-то вывод на экран. Будь то php-код или сообщение об ошибке - неважно.
Из вопроса не видно, где именно вы пытались стартовать сессию, но причина, скорее всего, в этом. Вам в сообщении об ошибке пишут - headers already sent. А заголовки посылаются только тогда, когда начат вывод на экран.
Для подключения сессии в profile.php начало файла должно выглядеть так
<?php session_start(); ?>
<div id="register" class="animate form">
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
В переменную $phpWord я запихнул файлКак мне в конец файла добавить новую строку (строки)?
У меня есть два типа продуктов: 1) те которые покупаются на конкретный день 2) стандартные продуктыМне нужно реализовать возможность добавление...
Есть скрипт, когда его запускают 50 человек одновременно, сервак отдаёт 503Т
Что есть: Joomla, Созданные контакты в компонентах Что нужно: на странице разместить контакты, телефоны, адреса,карты и только одну форму обратной...