Доброй ночи.
1) Первой строкой пишите error_reporting(E_ALL)
2) Убираете везде "@", это подавляет ошибки и поэтому затрудняет определить причину не работы скрипта.
3) Инициализируете переменные.
4) Не передавайте заголовки в массиве.
5) Почитайте документацию.
Пока всё.
для $("#modal_1") можно использовать шаблон, под который будут попадать все id, всех модальных окон.
Как это сделать посмотрите в документации по jquery.
UncleMisha, у каждого окна должен быть индивидуальный id.
Например:
id="modal_1"
id="modal_2"
id="modal_3"
И обращаться именно по этому id и с использованием $(this)
Forxxx, ну тут уж Вам разбираться полностью. Я этой штуковиной никогда не пользовался. В виджете есть настройка ActiveDataProvider, вот из этого я и исходил.
Sp1keazyYT, почему не инициализировали переменные?
В php.ini error_reporting = 32767, если нет доступа к php.ini, то тогда через .htaccess настройте уровень ошибок и после этого попробуйте запустить свой код у себя.
Sp1keazyYT, во-первых, этих предупреждений не должно быть даже тогда, когда нет никаких GET запросов. Надо всегда инициализировать переменные, а так как у Вас сейчас - моветон.
Во-вторых, надо не только strlen заменить, а все строковые фукции.
Эта статья должна Вам помочь.