Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
новый вася
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 40
1

Аналог хранения сессий

04.07.2016, 18:42. Просмотров 371. Ответов 14
Метки нет (Все метки)

вообщем в двух словах
можно ли с $_SESSION делать что-то вроде бекапа, например хранить в БД mySQL какие-то контрольные точки ее работы
или же существует некий метод аля ШАГ НАЗАД, что впринципе походу глупо предполагать поскольку сессия выглядит из серии:

valueone|i:1;valuetwo|i:2;valuethree|i:3;valuefour|i:4;apple|i:0;appleone|i:1;appletwo|i:2;blablavla|i:5;

если код был
PHP
1
2
3
4
5
6
7
8
9
$_SESSION['valueone'] = 1;
$_SESSION['valuetwo'] = 2;
$_SESSION['valuethree'] = 3;
$_SESSION['valuefour'] = 4;
$_SESSION['apple'] = 0;
$_SESSION['appleone'] = 1;
$_SESSION['appletwo'] = 2;
$_SESSION['blablavla'] = 5;
и много много много значений которые меняются  в моем случае по нажатию на кнопки
просто если например сохранить значение сессии в бекап файле каждые пару кликов чтобы можно было вернуться назад обратившись к нему
или же после каждого клика сохранять сессию в БД и при клике на кнопку НАЗАД возвращаться якобы в истории сессии назад прогрузив из бд старый вариант, который был например три-четыре клика назад
вообщем кто что посоветует?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2016, 18:42
Ответы с готовыми решениями:

Путь сессий
Здравствуйте уважаемые! Подскажите пожалуйста, если в php функция которая...

Безопасность сессий
Здравствуйте, Знаю что нужно проверять данные которые могут прийти от...

Безопасность сессий
Если в сессии хранить имя пользователя, ничего же страшного? Это не логин и не...

Ошибка регистрации сессий
в чем здесь ошибка: <?php session_start(); if (isset($_POST)) { $login =...

Срок сессий в PHP
Интересно, что происходит с сессиями после того, как пользователь не заходил...

14
полудух
149 / 164 / 43
Регистрация: 15.03.2016
Сообщений: 1,003
04.07.2016, 18:52 2
можно сохранять в другой ID
0
новый вася
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 40
04.07.2016, 19:20  [ТС] 3
ммм
а хоть какой нить сыроватый пример сего мероприятия можно узреть в коде?
0
crautcher
2019 / 1991 / 463
Регистрация: 27.05.2011
Сообщений: 6,837
04.07.2016, 19:23 4
Цитата Сообщение от новый вася Посмотреть сообщение
просто если например сохранить значение сессии в бекап файле
Почему не в сесссии?
PHP
1
2
3
4
5
6
7
8
9
$_SESSION['valueone'] = 1;
$_SESSION['valuetwo'] = 2;
$_SESSION['valuethree'] = 3;
$_SESSION['valuefour'] = 4;
$_SESSION['apple'] = 0;
$_SESSION['appleone'] = 1;
$_SESSION['appletwo'] = 2;
$_SESSION['blablavla'] = 5;
$_SESSION['backup'] = json_encode($_SESSION);
1
полудух
149 / 164 / 43
Регистрация: 15.03.2016
Сообщений: 1,003
04.07.2016, 19:25 5
Цитата Сообщение от новый вася Посмотреть сообщение
ммм
а хоть какой нить сыроватый пример сего мероприятия можно узреть в коде?
если так хочется хранить в сессии, то json_encode() массив данных и сохранять строку в $_SESSION{'id1'} 'id2' итд
0
pav1uxa
1857 / 1711 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
04.07.2016, 19:31 6
Json предназначен немного для другого и не сохраняет типы переменных. Для таких вещей используют сериализацию - serialize() и unserialize().
0
полудух
149 / 164 / 43
Регистрация: 15.03.2016
Сообщений: 1,003
04.07.2016, 19:32 7
у него цифры
serialize не понравился, он косой
0
pav1uxa
1857 / 1711 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
04.07.2016, 19:35 8
Цитата Сообщение от полудух Посмотреть сообщение
у него цифры
Это он просто пример привел...
Цитата Сообщение от полудух Посмотреть сообщение
он косой
Нет.
0
полудух
149 / 164 / 43
Регистрация: 15.03.2016
Сообщений: 1,003
04.07.2016, 19:37 9
Цитата Сообщение от pav1uxa Посмотреть сообщение
Это он просто пример привел...
даже если и так, часто можно по ключам понять, что за данные
serialize это крайний случай
Цитата Сообщение от pav1uxa Посмотреть сообщение
Нет.
да.
0
pav1uxa
1857 / 1711 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
04.07.2016, 19:39 10
Цитата Сообщение от полудух Посмотреть сообщение
даже если и так, часто можно по ключам понять, что за данные
Зачем выполнять лишнюю работу?
Цитата Сообщение от полудух Посмотреть сообщение
serialize это крайний случай
Чего тут крайнего? Нет ничего проще. На выходе получаешь ровно то что сериализовал.

Не по теме:

Цитата Сообщение от полудух Посмотреть сообщение
да.
хватит писать чушь...

0
полудух
149 / 164 / 43
Регистрация: 15.03.2016
Сообщений: 1,003
04.07.2016, 19:45 11
Цитата Сообщение от pav1uxa Посмотреть сообщение
Зачем выполнять лишнюю работу?
какую ещё работу?
если у вас в key1 цифры, вы просто юзаете на них <>=
Цитата Сообщение от pav1uxa Посмотреть сообщение
Чего тут крайнего? Нет ничего проще. На выходе получаешь ровно то что сериализовал.
это до того, как в БД или редис эту строку положил
оттуда начинаются сложности
например json все спец.символы и utf закодирует, а serialize - нет
0
crautcher
2019 / 1991 / 463
Регистрация: 27.05.2011
Сообщений: 6,837
04.07.2016, 19:51 12
Цитата Сообщение от pav1uxa Посмотреть сообщение
и не сохраняет типы переменных
И... что? Инт останется интом, строка строкой, буль булем. Если там не будет объектов, то на вкус программиста. По работоспособности один черт.
0
новый вася
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 40
04.07.2016, 20:26  [ТС] 13
PHP
1
2
3
4
5
6
session_start();
if (!isset($_SESSION['backup'])) {$_SESSION['backup'] = json_encode($_SESSION);}
echo $_SESSION['backup'];
 
$_SESSION= json_decode($_SESSION['backup']);
echo $_SESSION['value'];
чет не пойму какой синтаксис иcпользования
выводит

Cannot use object of type stdClass as array in C:\wamp\www\2.php on line 6
0
pav1uxa
1857 / 1711 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
04.07.2016, 20:31 14
Цитата Сообщение от новый вася Посмотреть сообщение
json_decode($_SESSION['backup']);
заменить на
PHP
1
json_decode($_SESSION['backup'], true);
ИЛИ

Цитата Сообщение от новый вася Посмотреть сообщение
echo $_SESSION['value'];
заменить на
PHP
1
$_SESSION->value;
1
новый вася
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 40
04.07.2016, 20:33  [ТС] 15
большое спасибо все работает =)
0
04.07.2016, 20:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2016, 20:33

Правильное использование сессий
Добрый вечер. Почитал в интернете статью о том, что сессия записывается в...

Сохранение сессий в базе
Как сохранять сессии в базе MySQL? Хочу создать сессию, которая будет считать...

Использование сессий в php
Всем привет. Я написал код регистрации, авторизации на php с использованием...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru