[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как загнать строку в массив?
smityukh
Всем доброго времени, коллеги!
Прохожу обучение 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 написал(а):
А как вы создали сессию

- строку с уникальным разделителем и последовательно её дополняйте? если можно полный код программы wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.