Работя по приложение, което съдържа два различни портала (администратор и членове).
http://localhost/app/
се използва за влизане и http://localhost/app/admin
се използва за вход на администратора.
Когато вляза в портала на членовете и администраторите и работи добре, но ако излезете от един портал, друг портал излезе автоматично.
Проверих дали файлът на сесията е създаден през /tmp/
директорията съхранява информацията за сесиитеи двата портала в един файл, който причинява горния проблем. Работата около мисля, че е да се запише информация за сесията на двата портала в различни директории. Търсих много за това, но не получи никаква резолюция :(
Моля помогнете. Благодаря предварително!
Отговори:
0 за отговор № 1Можете да унищожите елементите на сесията поотделно, вместо просто да се обаждате session_destroy();
.
Например, използвайте $_SESSION["logged_a"]
за администратора и $_SESSION["logged_u"]
за потребителя.
И след това, в зависимост от това откъде излизате, направете го unset($_SESSION["logged_a"])
или unset($_SESSION["logged_u"])
Надявам се това да помогне! Късмет!
0 за отговор № 2
PHP сесиите работят на базата на всеки домейнизползвайте бисквитки. Ако искате да имате отделни системи за влизане за всяка директория, приложението ви ще трябва да се справи с това. Работен подход би бил да се съхрани идентификаторът на сесията в база данни заедно с препратка към кои портали е влязла сесията. Когато потребителят излезе от един портал, вместо да унищожи сесията, изтрийте записа, показващ, че сесията е влязла в този портал.