Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Вопрос у меня странный, ситуация нонсенс. Вопрос: как получается, что переменная $_SESSION в папке /admin/ имеет одни значения, а в корне сайта и в любой другой папке сайта - другие.
Вот такой вопрос. На сколько я знаю, такого чтобы $_SESSION была в одном домене и имела разные значения в разных папках - такого быть не должно. Но по факту это происходит. Почему?

Мне вообще это надо для того чтобы узнать user id админа. Даже есть тема http://www.opencart60s.com/opencart/-solved-display-admin-user-in-front-end-40377.html в которой даётся рецепт который подразумевает что с $_SESSION никаких чудес нет. Но у меня даже этот рецепт не работает, естественно, потому что в сессии фрондэнда нет этого user id. Вообщем вопрос к самым самым...

 

Надіслати
Поділитися на інших сайтах


узнать user_id админа так

Знаю что так. Не знал бы, не пришёл бы на этот форум, так-как по пустякам на форумы не хожу, всё узнаю сам. Обращаюсь же с вопросом только если ситуация нонсенс. Прошу это выделить что-ли. Сразу обратите внимание на вопрос по сессиям, может есть какие-то спецы по php, которые исходный код php изучали? Может ли сессия в папке /admin/ иметь отличные от других папок значения? Такая ерунда происходит даже в таком файле test.php:

<?
session_start();
print session_id();
print_r($_SESSION);
?>

Я его положил в папку /catalogue/test.php, результат:

tdtgg1nrvero5vtre99f1kr366Array ( [language] => ru [currency] => EUR [cart] => Array ( ) )

Далее положил его в папку /admin/test.php, результат:

tdtgg1nrvero5vtre99f1kr366Array ( [currency] => EUR [user_id] => 1 [token] => a648bbdd20a3214b546bf488f4e13705 [test] => 1 )

Как это возможно?

Надіслати
Поділитися на інших сайтах


Вы писали "Мне вообще это надо для того чтобы узнать user id админа"
так в чем проблема?? Я Вам даю ответ, а Вы мне "Я знаю" и начинаете про сессии?? Может поставите вопрос/задачу по точнее, ну и в разрезе структуры MVC на примере движка??
 
А по сессиям, ничего странного нет. Сессия может менятся хоть после каждого перехода со странице на страницу в зависимости от условий. Это не какая то там константа которая будет переходит сама по себе.
 
Да и пишите вы session_start(); Думаете этого достаточно чтобы определить user_id ??

В общем пока одни вопросы и сумбур.

Надіслати
Поділитися на інших сайтах

Я Вам даю ответ

Не работает этот ответ, хотя должен работать. Путём реинжениренга я пришёл к вопросам о сессиях. Сказав что мне это всё нужно чтобы узнать user_id, я имел ввиду что может быть есть какой-то другой способ узнать user_id, который бы не задействовал сессию. Наверное другого способа нет.

Зачем было давать мне этот код, если я привёл в первом сообщении ссылку на такой же код и сказал что у меня он не работает? Короче хватит уводить разговор в сторону от сути. Не в опенкарте дело, вопрос к знатокам php, которые может знают как сессия может себя так вести... Но похоже придётся писать на англоязычный форум по php с вопросом о сессии, так-как здесь меня явно не понимают.

Надіслати
Поділитися на інших сайтах


Сесии хранятся в папке указанной параметром session.save_path в php.ini
Теоретически, можно задать его в файле .htaccess  Тогда для разных папок могут быть разные .htaccess и соответственно разные сессии 

 

Надіслати
Поділитися на інших сайтах


мда.... вы хоть попробуйте вставить это код?

У меня например все работает.  Вставил в контролер например header.php на фронтэнде. Логинюс как админ в админке, перехожу на фрон и вижу ид админа. Что я делаю не так??

 

Ну а если вам проще на англо форуме, то пожалуйста, никто вас не держит.

Надіслати
Поділитися на інших сайтах

Решение: я не привык пользоваться PHP в режиме CGI/FastCGI, так-как везде в основном использую PHP в режиме Apache 2.0 Handler, а php.ini текущей дирректории доступен только в режиме CGI/FastCGI, для Apache режима есть .htaccess со своими php флагами. Дело в том, что php.ini текущей дирректории это совсем не тоже самое что .htaccess. В htaccess происходит исправление базовой конфигурации php.ini, которая грузиться несмотря ни на что. А в php.ini тек.дирректории происходит конфигурирование всего PHP, по этому если какого-то парраметра в нём нет, то устанавливается то, которое определено в PHP по умолчанию. Естественно парраметр session.save_path, который отвечает за переменные сессии, по умолчанию пустой, по этому переменные сессии в дирректории с php.ini отличались, так-как сессия этой дирректории сохранялась где-то в другом месте, отличном от того, который явно указан в главном php.ini данного сервера, а ведь все другие дирректории без файла php.ini использовали для сессий именно тот путь, который указан в главном php.ini.

 

ravilr - извини если нагрубил, я вижу твоё желание помочь

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.