У меня есть одностраничное приложение на основе страницы index.php
, где я запускаю сеанс и отображаю первое содержимое. Затем я загружаю содержимое Ajax в разные div на основе ссылок, которые вы нажимаете.одностраничное приложение session_start error
Если я хочу получить доступ к массиву $_SESSION
на загруженной странице (например, для отображения имени пользователя), мне нужно поставить session_start
также на страницу, которую я загружаю через Ajax. Все отлично работает таким образом, но когда я вижу в журнале я вижу, что PHP бросает ошибку каждый раз, когда я загрузить одну из страниц с помощью Ajax, говоря, что
«сессия уже началась. Игнорирование session_start()».
Итак: с одной стороны мне нужно поставить session_start для доступа к массиву сеансов, а с другой стороны команда session_start игнорируется.
От index.php:
<?php
require '../session_handler.inc.php';
require 'global_functions.php';
session_start();
if(isset($_SESSION['id1'])){
$actusr=$_SESSION['id1'];
}
Образец Аякса вызов:
function loadContent(sourceUrl){
$(".container").load(sourceUrl);
}
РНР мне нужно в верхней части страницы под названием:
<?php
require '../../session_handler.inc.php';
require '../global_functions.php';
session_start();
Если я удалить session_start() $ _SESSION будет недоступна
Как я могу исправить эту ситуацию? Могу ли я получить доступ к массиву сеансов с загруженной страницы без запуска сеанса?
Попробуйте удалить его из Аякса, как это часть скрипта вы работаете под. –
@ Fred-ii- то я больше не буду загружать $ _Session массив –
* Hm ... *, причудливый. Вы можете поделиться своим кодом? Не могу понять, как это сломается. У вас нет 2 'session_start();' где-нибудь в одном и том же файле? Или что-то еще вызывает это дважды? например, функция include/require и т. д.. –