Как разделить сессии на разных вкладках браузера(альтернативы сессиям)?
Допустим есть 2 заказа и нам нужно их редактировать . При редактировании заказа все данные по нему(корзина,покупатель и т.д.) сохраняются в сессию и потом работа идет с ней . Проблема в том , что если в 2 вкладках редактировать разные заказы , то данные перемешиваются друг с другом , что не странно . Сделал разделение между переменными сессии типа $_SESSION['orders'][$orderId] для каждого отдельного заказа . Как бы норм ,с заказами все работает . Но бывают моменты , когда сессии нужно разделать не только по одному идентификатору как с заказами , а параметров может быть несколько . Если придерживаться той же логики , что и с заказами , то будут переменные типа
$_SESSION['name'][$paremetr1][$paremetr2][$paremetr3][$paremetr4] , что сильно усложняет дальнейшую работу . Как еще можно решить проблему с разделением сессий в разных вкладках ? или может заюзать в таком случае что-нибудь другое? redis не сможет решить проблему?
Чем больше знаю, тем лучше понимаю, как мало знаю.
Каждой вкладке присвоить свой уникальный $TAB=uniqid(), и при каждом переходе/загрузке страницы/сабмите формы использовать его во всех URL (site.org/index.php?TAB=$TAB) и во всех формах (<input type=hidden name=TAB value='$TAB'>). Так и дифференцировать.
1) не хранить данные в сессии (только данные идентификации, настройки)
2) явно ввести в URL тип и идентификатор того с чем ты работаешь (если их несколько - да, значит несколько типов и идентификаторов)
3) сохранять данные в хранилище привязываясь к типу+идентификатору