smityukh
23.05.2012 - 23:07
Всем доброго времени, коллеги!
Прохожу обучение php по видео Специалиста. Так вот, дошел до темы о сессиях и получаю лабораторную работу, суть которой состоит в том, что бы внизу страницы организовать вывод списком посещенных пользователем страниц. То бишь, если юзер нажимает на page1.php потом page2.php, page3.php. То внизу должно вывестись список из этих строк.
В общем автор предлагает сделать это двумя путями.
Цитата |
Создайте в сессии либо - массив для хранения всех посещенных страниц и сохраните в качестве его очередного элемента путь к текущей странице. - строку с уникальным разделителем и последовательно её дополняйте |
Вот со вторым разобрался как это сделать
$_SESSION['pages'] .= $_SERVER['PHP_SELF'] .'|';
А вот не могу разобраться каким образом можно реализовать первый вариант с массивом? У меня вопрос, как загонять каждый раз содержимое $_SERVER['PHP_SELF'] в новую ячейку массива $_SESSION ?
Заранее спасибо за ответ.
Спустя 2 минуты (23.05.2012 - 22:09) Игорь_Vasinsky написал(а):
$_SESSION['pages']['phpself'][] .= $_SERVER['PHP_SELF'];
Спустя 14 минут, 18 секунд (23.05.2012 - 22:24) smityukh написал(а):
Цитата (Игорь_Vasinsky @ 23.05.2012 - 19:09) |
$_SESSION['pages']['phpself'][] .= $_SERVER['PHP_SELF']; |
При этом коде выдает ошибку
Цитата |
Fatal error: Cannot use string offset as an array in \mod2\session\savepage.inc.php on line 4 |
Спустя 2 минуты, 41 секунда (23.05.2012 - 22:26) T1grOK написал(а):
$_SESSION['pages']['phpself'][] = $_SERVER['PHP_SELF'];
Спустя 2 минуты, 32 секунды (23.05.2012 - 22:29) smityukh написал(а):
Цитата (T1grOK @ 23.05.2012 - 19:26) |
$_SESSION['pages']['phpself'][] = $_SERVER['PHP_SELF'];
|
Тоже самое, в смысле ошибку выдает туже
Спустя 4 минуты, 32 секунды (23.05.2012 - 22:34) Игорь_Vasinsky написал(а):
$_SESSION['pages'][] = $_SERVER['PHP_SELF'];
Спустя 2 минуты, 49 секунд (23.05.2012 - 22:36) T1grOK написал(а):
Пытаетесь применить конкатенацию к массиву, а не к строке.
Спустя 11 минут, 40 секунд (23.05.2012 - 22:48) smityukh написал(а):
Цитата (T1grOK @ 23.05.2012 - 19:36) |
Пытаетесь применить конкатенацию к массиву, а не к строке. |
Это вы мне или товарищу сверху?
Если ваш код правильный, то где я делаю ошибку выводя внизу все это дело вот таким кодом:
echo "<ol>";
foreach ($_SESSION as $page){
echo "<li>$page</li>";
}
echo "</ol>";
Спустя 18 дней, 14 часов, 28 минут, 3 секунды (12.06.2012 - 13:16) zXeny написал(а):
А как вы создали сессию
- строку с уникальным разделителем и последовательно её дополняйте? если можно полный код программы