2013-07-16 4 views
0

Я пытаюсь передать объект графа из jpgraph с одной страницы на другую. Чтобы передать объект на следующую страницу, я сохраняю его как $_SESSION['graph'].

Пройти сессию на следующую страницу, я добавляю его в URL с

echo '<a href="...../next.php?SSID='.session_id().'">Next</a>'; 

В next.php, я получаю SID и начать сеанс:

session_id($_GET['SSID']); 
session_start(); 

Но когда Я пытаюсь получить доступ к $_SESSION['graph'], я получаю ошибку Неопределенный индекс: graph, а затем он разбился, когда я пытаюсь вызвать функцию Stroke().

Что я делаю неправильно?

+2

убедитесь, что вы вызываете session_start на странице, где вы назначаете график – Orangepill

+1

Почему вы принимаете сессию на следующей странице? Сессия будет продолжена автоматически. – Pieter

+0

Вы уверены, что 'SSID' правильно установлен? –

ответ

2

Поведение по умолчанию заключается в том, что идентификатор сеанса будет храниться в файлах cookie, а не в GET-файлах. Это контролируется с помощью следующих php.ini значений:

session.use_cookies=1 
session.use_only_cookies=1 

Что и по умолчанию 1.

Поэтому, если вы не изменили это, вам не понадобится этот GET var, поскольку идентификатор сеанса хранится в файле cookie, который будет передаваться вместе с запросом - автоматически.

Просто сделай это:

session_start(); // will get session id from cookie and resume the session 
$graph = $_SESSION['graph']; 
+0

Я просто пробовал это так, но та же ошибка возникает – AndMim

+0

@AndMim вы начинаете сеанс в документе, который генерирует ссылку? – hek2mgl

+0

Да, он запущен – AndMim

Смежные вопросы