• Php curl XHR как отправить запрос?

    @justpusher
    Посмотрите все заголовки, которые шлёт браузер при отправке XHR, и проставьте такие же заголовки при отправке curl.
    Ответ написан
    Комментировать
  • Как правильно организовать переход пользователя с сайта на платёжный сервис(через форму или из контроллера)?

    @justpusher
    Если платёжная система требует переход пользователя пост-запросом, выведите пользователю пост-форму и отправьте её javascript-ом. На случай, если у него javascript отключён, выведите кнопку и сообщение с просьбой эту кнопку нажать.
    Ответ написан
    Комментировать
  • Как получить значение у *ArrayObject*storage? Это название поля у объекта при отладке. Как мне получить его значение?

    @justpusher
    Это приватное поле. В обычных условиях вы не можете считать его извне. Можно извратиться и получить доступ с помощью ReflectionProperty
    Ответ написан
    Комментировать
  • Как правильно организовать базу данных на сайте?

    @justpusher
    Выглядит примерно правильно, только формулировки у вас странные.
    Вы создаёте две таблицы theme (лучше category) и articles, и прописываете отношение один ко многим.
    Остальное (миграции, модели) к организации БД не относится и зависит от вашего приложения.

    Вообще если у вас возникают вопросы такого рода, и вы планируете развиваться как разработчик - я советую вам почитать уроки Блог на Symfony и пройти тренинг на sql-ex.ru. Всё бесплатно.
    Ответ написан
    Комментировать
  • Как искать по MySQL цифры начинающиеся с 0 (полнотекстовый поиск)?

    @justpusher
    Сделайте дополнительное поле, участвующее в поиске, но не отображаемое пользователю.
    При вставке записи с "кв. п06" в дополнительное поле заносите "6 06".
    Ответ написан
    Комментировать
  • Почему не подключается к БД?

    @justpusher
    Если у вас не Windows, когда вы подключаетесь к mysql по 127.0.0.1, соединение идёт по сети, а когда по localhost - через unix-socket. php ищет нужный сокет в настройках php.ini, а mysql - в my.cnf. Вероятно у вас в конфигах разные настройки сокетов прописаны.
    Ответ написан
    Комментировать
  • Почему дважды происходит выборка при SQL запросе?

    @justpusher
    У вас mfo "Е-Капуста" соответствует 4 записи в cpl_mfo_loans.
    Это значит, что после последнего джойна у вас будет 4 строчки для Е-Капусты, в которых поля всех таблиц кроме cpl_mfo_loans будут одинаковые. Вы их объединяете с помощью group_concat, поэтому получаете 4 раза одно и то же. Я советую вам убрать group_concat и поставить SELECT *, тогда вам будет понятнее, какие там данные.

    P.S. на будущее: выкладывайте структуру таблиц и дампы в виде SQL-запросов (CREATE TABLE, INSERT), по скриншотам на глаз разбираться очень сложно.
    Ответ написан
    Комментировать
  • Проблема с прогрессом загрузки файла на сервер. Как исправить?

    @justpusher
    Вижу у вас нестыковку с документацией.
    В документации: "отправке POST-запросом переменной с именем, равным значению опции session.upload_progress.name. "
    У вас же переменная названа ini_get("session.upload_progress.prefix") . ini_get("session.upload_progress.name")
    Префикс лишний.
    Ответ написан
  • Nginx папку themes в phpmyadmin access denied?

    @justpusher
    В любом случае нужно начинать с просмотра error-логов nginx. Важно, чтобы на каждый virtualhost был свой лог.
    Возможно, что ошибка access denied спровоцирована не nginx'ом, а php - тогда в error-логе вы ничего не увидите, а в access-логе будет 403 - тогда надо копать глубже, в php.
    Ответ написан
    Комментировать
  • Как открыть url поддоменов на основном сайте?

    @justpusher
    В конфиге виртуалхоста апача (не .htaccess!):
    ServerName site.ru
    ServerAlias *.site.ru

    Количество поддоменов не ограничено.

    Ну и DNS *.site.ru, как уже было указано.
    Ответ написан
    Комментировать
  • Как конвертировать видео в multipart/form-data и отправить это ajax POST-запросом?

    @justpusher
    Выглядит довольно просто... но возможно я не понял до конца, что вы хотите.

    Формат multipart/form-data крайне прост - построить готовое тело POST-запроса, содержащего multipart-данные, просто. Единственная забота - это выбрать правильный разделитель, который не встречается в файле.
    Также несложно послать при отсылке ajax-запроса установить свой Content-Type: multipart/form-data и указать напрямую содержимое тела POST-запроса, который вы предварительно построили.
    Ответ написан
    Комментировать
  • Как сделать выборку из таблицы с учетом данных в другой таблице?

    @justpusher
    1) в запросе нет сортировки - вам же нужно пользователя с наименьшей датой
    2) NOT IN(SELECT user FROM tasktemp) - это исключит всех пользователей, которые фигурируют в tasktemp, а вам нужно только исключить попадание задачи к тому же пользователю повторно.

    Таблицы всегда связываются по id, связывать по name неэффективно.
    Запрос вы вставили с ошибкой (лишние бекслеши).
    Вместо словесного описания таблиц лучше приложите их структуру, можно с комментариями.

    Очень рекомендую пройти курс www.sql-ex.ru
    будете значительно увереннее себя чувствовать в sql.
    Ответ написан
    Комментировать
  • Как ускорить tburry/pquery?

    @justpusher
    Вы можете попробовать попрофилировать работу библиотеки. Возможно, по карте вызовов сразу будет видно узкое место, которое можно оптимизировать.
    Если тормоза на этапе формирования DOM, думаю, выпиливание ничего не даст.
    Ответ написан
    Комментировать
  • Роутер для mvc на php - есть ли ошибки?

    @justpusher
    Я считаю, вы тратите время зря на изобретение велосипеда. Мало того, что тратите своё время, так ещё и хотите, чтобы другие тратили время вместе с вами.
    Возьмите готовый фреймворк, например, Symfony или Silex, и используйте.
    Если хотите разбираться в теме, просто читайте код их роутеров, отлаживайте и добивайтесь полной понятности. Потом, если будет желание, можете написать свой, мега-оптимизированный, или с же с блекджеком и девушками.
    По вашему же - я глянул очень бегло, но то что заметил:
    1. очень низкая гибкость - например, класс Router никак нельзя параметризовать, приходится подстраиваться под его требования.
    2. глобальные переменные и константы - это плохо. в том числе использование текущего запроса (GET) и манипуляции с ответом (header).
    3. всё запутано, например, при чтении класса Router совершенно непонятно, откуда возьмётся $this->routes->current, а чтобы понять, где хранится конфиг роутов, нужно прочитать оба класса Router и Routes полностью.
    Вам стоит познакомиться с принципами SOLID
    Ответ написан
  • Как безопасно выполнить .sh из php?

    @justpusher
    Вы можете прочитать напрямую содержимое /proc и узнать количество процессов без запуска сторонних утилит (смотрите /proc/*/cmdline).
    Это точно безопасно.
    Ответ написан
    Комментировать
  • Как получить переменные из включаемого шаблона Twig?

    @justpusher
    Просто у разных шаблонов разный контекст, переменные не глобальные.
    Вижу два варианта:
    1. Сделать общий родительский шаблон для шаблонов, использующих base_fields, и объявить base_fields в родительском.
    2. Написать расширение для twig с функциями типа setMyVar и getMyVar (правда, это некрасиво).
    Ответ написан
    Комментировать
  • Засада с куки. Не работает счетчик посещений. В чем может быть причина?

    @justpusher
    Вы читаете из кук значение visitCounter в переменную, потом записываете в куки обратно то же самое значение переменной, и только потом увеличиваете переменную. В переменной хранится увеличенное значение, оно же и будет использоваться в index.php, но в куках ничего не поменяется, и при следующем запуске будет всё то же самое.
    Ответ написан
    Комментировать
  • Каким способом правильнее разрешить зависимости класса?

    @justpusher
    Я всегда использую вариант 1.
    Чтобы не страдало быстродействие, конструкторы должны быть максимально лёгкими.
    Возможно, вы и получите +0.01 секунду и +2МБ памяти, но это не должно вас беспокоить, ведь вы получаете понятный, гибкий и легко тестируемый код.
    Ответ написан
  • Как правильно настроить кеширование для браузера сервером?

    @justpusher
    Внесите версию в имя файла.
    Обратите внимание, в jQuery CDN, например, все имена файлов содержат версию. И кеширование у них на десять лет. Кстати, можете использовать CDN - это во-первых снимает с вас заботу о кешировании, во-вторых, потенциально ускоряет загрузку для клиента, т.к. у него мог остаться кеш jquery из CDN благодаря другому сайту.

    С локальными скриптами можно поступить так: в приложении храните глобальную "версию скриптов", которая увеличивается при каждом коммите (или релизе), и все локальные скрипты грузите с адресов вида script.js?version=xxx. При импортировании передавайте version.

    P.S.: я не специалист по фронтенду.
    Ответ написан
    Комментировать
  • Как получить результат запроса ajax?

    @justpusher
    Попробуйте в инспекторе браузера скопировать у рабочего запроса copy as curl, и потом попытаться повторить этот запрос консольным curl. Если будет работать - убирайте по одному заголовки и параметры, так вы узнаете, что важно, а что нет.
    Ответ написан