Рекомендуемые сообщения

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ravilr    481

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

$this->load->library('user');
$this->user = new User($this->registry);

$admin_superman = $this->user->isLogged();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rkm432    0

узнать 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 )

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ravilr    481

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rkm432    0

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shalan    36

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ravilr    481

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rkm432    0

Решение: я не привык пользоваться 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 - извини если нагрубил, я вижу твоё желание помочь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От IruseaD
      Добрый день!
      Помогите разобраться, где искать ошибку или с чем она может быть связана.
      При редактировании заказа из админки opencart 2.3.0.2 дохожу до вкладки Оплата и далее после нажатия на кнопку Продолжить выходит ошибка:
      SyntaxError: Unexpected token in JSON at position 0    (см скриншот)
       
       

    • От seo2014
      Всем привет. Ищу помощи. Стоит Opencart 1.5.5.1.2, необходимо сделать несколько учеток администраторов (с этим вопросов нет), однако под каждой учетной записью, должны быть видны и доступны для редактирования товары только созданные под этой учеткой. Т.е. допустим 3 разных учетки администраторов, и у каждого свой список товара, товары созданные с другой учетки отображаться/редактироваться не должны.
      Подскажите плиз, ссылку на какой-нибудь модуль, или кто-то делал уже и может помочь за плату. Спасибо.
    • От pacmannj
      Здравствуйте! Помогите войти в админку. При вводе логина и пароля, пишет, что 
       "Такой логин и/или пароль не существует!" В инсталляционной информации opencart, всё указано верно,ошибки быть не может. Очень не удобно, теряем время!
    • От balukoff


      Просмотреть файл ocBase admin module filter
      Возможно, Вы - копирайтер, а может часто работаете с модулями в административной части.
      А что делать, если модулей - 40, 50, 100? Постоянно прокручивать вниз и искать в списке нужный?
      В этой ситуации Вам поможет модификатор поиска модулей.
      Он очень прост: Вы ставите модуль и в строке фильтра(который появляется в списке модулей) вводите часть названия модуля. Вуаля, Вы его нашли, а других не видно.
      Установка не отличается от любых других модификаторов:
      В административной части идем в Модули->Установка расширений и закачиваем наш модификатор. 
      - Не меняет системные файлы
      - Работает только для ветки 2.x
      Автор balukoff Добавлен 28.01.2017 Категория Прочее Работает на OpenCart Системные требования Работает на ocStore Сайт разработчика Работает на OpenCart.Pro, ocShop Старая цена Метод активации Ioncube Loader  
    • От balukoff
      Возможно, Вы - копирайтер, а может часто работаете с модулями в административной части.
      А что делать, если модулей - 40, 50, 100? Постоянно прокручивать вниз и искать в списке нужный?
      В этой ситуации Вам поможет модификатор поиска модулей.
      Он очень прост: Вы ставите модуль и в строке фильтра(который появляется в списке модулей) вводите часть названия модуля. Вуаля, Вы его нашли, а других не видно.
      Установка не отличается от любых других модификаторов:
      В административной части идем в Модули->Установка расширений и закачиваем наш модификатор. 
      - Не меняет системные файлы
      - Работает только для ветки 2.x
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу