Алексей
Tim
Ayubkhon
Roman
Алексей
Испробуем аякс
если прям совсем у вас сложно всё, я бы предложил вам попробовать дедовским методом, отправлять форму на скрипт, с перезагрузкой страницы, потом аякс попробуйте.
Ayubkhon
😄
Ayubkhon
Tim
Ayubkhon
Anonymous
Anonymous
И когда я все это успеваю...
Алексей
Anonymous
Ща разберусь
Anonymous
Не кароче, фуфел какой-то, не вступаем пацаны!
Максим
Anonymous
Anonymous
Шок какой-то
Anonymous
Везде в бане...
👀
Привет всем! Подскажите: была необходимость назначать роль пользователю в зависимости от того, через какую форму он авторизовывается. Сделал на основе DbAuthManager SessionAuthManager, переопределил методы assign, getAssignment, getRolesByUser, revoke, revokeAll что-б хранило в сессии. Локально всё работает идеально - на проде проблемы. Разница только в версиях пхп (локально 7.2, когда на проде 5.5, но это лишь часть проблемы). Суть в том, что после авторизации пользователя "мгновенно" разлогинивает: переходишь на другую страницу - страница авторизации. Заметил, что при использовании моего authManager'а не записываются права в debug панели user - начал копать в эту сторону. Дебажил метод save() панели - словил в нём ошибку session_set_cookie_params(): Cannot change session cookie parameters when headers already sent. Отключил на проде панель пользователей - разлогинивать перестало. Что за магия такая?
Aleksey
Привет всем! Подскажите: была необходимость назначать роль пользователю в зависимости от того, через какую форму он авторизовывается. Сделал на основе DbAuthManager SessionAuthManager, переопределил методы assign, getAssignment, getRolesByUser, revoke, revokeAll что-б хранило в сессии. Локально всё работает идеально - на проде проблемы. Разница только в версиях пхп (локально 7.2, когда на проде 5.5, но это лишь часть проблемы). Суть в том, что после авторизации пользователя "мгновенно" разлогинивает: переходишь на другую страницу - страница авторизации. Заметил, что при использовании моего authManager'а не записываются права в debug панели user - начал копать в эту сторону. Дебажил метод save() панели - словил в нём ошибку session_set_cookie_params(): Cannot change session cookie parameters when headers already sent. Отключил на проде панель пользователей - разлогинивать перестало. Что за магия такая?
HTTP протокол. После Headers идет 2 символа новой строки и body. Чтобы выставить cookie нужно записаться в headers, ты пытался писать cookie после того, как начал выводить в body
NVlad
Привет всем! Подскажите: была необходимость назначать роль пользователю в зависимости от того, через какую форму он авторизовывается. Сделал на основе DbAuthManager SessionAuthManager, переопределил методы assign, getAssignment, getRolesByUser, revoke, revokeAll что-б хранило в сессии. Локально всё работает идеально - на проде проблемы. Разница только в версиях пхп (локально 7.2, когда на проде 5.5, но это лишь часть проблемы). Суть в том, что после авторизации пользователя "мгновенно" разлогинивает: переходишь на другую страницу - страница авторизации. Заметил, что при использовании моего authManager'а не записываются права в debug панели user - начал копать в эту сторону. Дебажил метод save() панели - словил в нём ошибку session_set_cookie_params(): Cannot change session cookie parameters when headers already sent. Отключил на проде панель пользователей - разлогинивать перестало. Что за магия такая?
у тебя где-то происходит вывод данных перед установкой куки, как вариант перед открывающим <?php в панели пользователя затесался пробел или другой символ. а проблемы из-за того, что разные настройки буферизации вывода
Anonymous
Андрей
гайз, есть модальное окно ассет з js и сss. Проблема в том, что при первом вызове окна, все ок, а если его закрыть и открыть еще раз, js уже не работает. При этом если js поместить просто в файл с вью, а не через ассет, то все ок оба раза. Плиз хелп
Максим
Андрей
да
Максим
ошибки в консоли появляются?
Андрей
нет
Максим
а сама модалка получает дисплей нон или удаляется из дома?
Максим
если через консоль модалку запустить, а не кнопкой, все работает? например
$('.modal').modal();
Максим
аяксы какие нибудь гоняются между назжатиями кнопки?
Андрей
ну окно в норме
Андрей
цсс тоже в норме
Максим
а каким образом через ассет подключаешь код?
Андрей
та просто, по гайду
Максим
покажи код) по гайду понятие растяжимое
Андрей
`class DistributorTemplatesAsset extends AssetBundle
{
public $sourcePath = '@app/modules/globalCatalogs/assets/static';
public $css = [
"css/DistributorTemplates.css"
];
public $js = [
"js/DistributorTemplates.js"
];
public $depends = [
'yii\jui\JuiAsset',
'yii\bootstrap\BootstrapAsset',
];
}`
Максим
чудеса на виражах)
Андрей
?)
Максим
?)
я не знаю, почему не работает)
Андрей
понял, спс
👀
@Apache02 @WildVampir не, у меня проблема в том, что вызывается Logger->flush(), который дёргает в панели user получение всех ролей и прав пользователя. В моём authManager'е роль хранится в сессии, поэтому когда панель UserPanel делает save(), в моём authManager'е дёргается \Yii::$app->session->get(), что в свою очередь (по длинной цепочке) дёргает внутри /yii/web/Session метод setCookieParamsInternal(), который пытается сделать session_set_cookie_params(). Да, данные отправляются - Logger->flush(), насколько я понимаю, уже после response дёргается
Aleksey
@Apache02 @WildVampir не, у меня проблема в том, что вызывается Logger->flush(), который дёргает в панели user получение всех ролей и прав пользователя. В моём authManager'е роль хранится в сессии, поэтому когда панель UserPanel делает save(), в моём authManager'е дёргается \Yii::$app->session->get(), что в свою очередь (по длинной цепочке) дёргает внутри /yii/web/Session метод setCookieParamsInternal(), который пытается сделать session_set_cookie_params(). Да, данные отправляются - Logger->flush(), насколько я понимаю, уже после response дёргается
Проблема в том, что до вызова session_set_cookie_params выводится контент (echo, print, etc).
👀
логично
👀
я ж не говорю что данные не выводятся
Aleksey
@Apache02 @WildVampir не, у меня проблема в том, что вызывается Logger->flush(), который дёргает в панели user получение всех ролей и прав пользователя. В моём authManager'е роль хранится в сессии, поэтому когда панель UserPanel делает save(), в моём authManager'е дёргается \Yii::$app->session->get(), что в свою очередь (по длинной цепочке) дёргает внутри /yii/web/Session метод setCookieParamsInternal(), который пытается сделать session_set_cookie_params(). Да, данные отправляются - Logger->flush(), насколько я понимаю, уже после response дёргается
Раньше у меня была такая проблема изза BOM в файлах
👀
на трёх реквестах такая ошибка только на одном
👀
на том, который отвечает за отображение страницы
👀
если запрос был через ajax - ошибки нет
👀
BOM тут не при чём
👀
да, контент выводится - это проблема
👀
но как он может не выводиться, если логгер настроен отрабатывать после response?
NVlad
проверь вьюхи, скорее всего там и происходит описанная проблема
NVlad
желательно все подключаемые файлы
👀
у меня всё без bom
👀
я на linux сижу
👀
тут ещё надо постараться с bom сделать
👀
👀
я гифку записал
👀
на /jobs падает ошибка про сессии, для ajax экшнов никаких проблем
Aleksey
начни комментировать незначительные части логики, например render представления, локализуй место где выводится
👀
нашёл на гитхабе аналогичный кейс - пишут, что-то при логгировании ломает сессии.
тут проблема не во вьюхах и логиках - нужно глубже смотреть. Сессия не должна инициализироваться в том месте - она ранее уже была инициализирована, до респонса. И проблема эта именно с логгером, а точнее - с лог панелью юзеров - если её отключить всё работает как часы и без ошибок
Konstantin
привет. в юи не шарю но надо разобраться. как юи резольвит контроллеры?
Konstantin
проект не мой но там везде 404 на всех роутах и понять не могу как отладить.
есть какой то exception handler в конфиге, там проверяю есть ли класс (ну, дебаг по живому), но пишет что класс вовсе не загружен.
function renderException($exception)
{
var_dump(class_exists(api\controllers\UserController::class)); // показывает false
Konstantin
хотя б куда копать расскажите
Konstantin
я понял что это настраивается в конфиге в urlManager
Gnevniy
Всем привет. Кто нибудь знает как в gridview Убрать из таблицы ненужные строки по условию? Именно в самом виджете а не в запросе и не в объекте dataProvider
Stas
visible
👻
В модели отфильтруй
Stas
погугли
Andrey Slutskiy
👻
Не дочитал :)
👻
Про визибл хз но если не в провайдере будет как минимум педжинация ломатся
Gnevniy
@ASYOU99 СпасибО!