Ответы пользователя по тегу PHP
  • Почему скрипт PHP выполняется один раз?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если $item это товар, то во первых у вас не первый товар с ценой будет, а последний, и во вторых по тому что вы делаете присвоение после цикла, а не внутри.
    Ответ написан
    1 комментарий
  • Как сохранить значение кнопки после обновления страницы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вопрос: как после обновления страницы сохранить эти данные, мол купон такой-то активирован. У меня код купона, его скидка и статус пишутся в массив $_SESSION.
    В бд. Если вы делаете что-то с данными пользователя, это надо писать в бд, иначе при заходе с другого устройства вы получите лажу. В сесси хранить можно только временную информацию, не относящуюся к критичным данным и не требующую запоминания (как например статус "залогинен", его нам хранить вечно не надо, можно и в сессии хранить).
    Ответ написан
    2 комментария
  • Как можно обновлять div не перезагружая страницу целиком?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Каждую секунду обновлять данные - плохо, рано или поздно это приведет к неоправдано высокой нагрузке сервера.
    2) По уму на такие задачи поднимают сокет, и при изменении на сервере рассылают в нужные сокеты изменившуюся информацию.
    3) Как простой вариант - по setInterval() запускайте аякс запрос и полученные данные выводите в нужный див.
    Ответ написан
    Комментировать
  • Почему данные пользователя не добавляются в базу данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как нужно действовать (в принципе всегда):
    1) Проверить что форма срабатывает и делает запрос: открываем консоль разработчика в браузере - нетворк, субмитим форму - смотрим что форма сделала запрос к серверу. Если не сделала - разбираемся в консоли какие ошибки со скриптами и все чиним.
    2) В отсылаемом запросе смотрим данные, которые отправляет скрипт, а так же ответ сервера, на предмет ошибок. Если есть ошибки - исправляем.
    3) Проверяем данные которые пришли на сервер, делаем var_dump($_POST), смотрим - то ли пришло на сервер. Если что-то не пришло - возвращаемся на фронт и ищем ошибку в хтмл разметке и форме.
    4) Правильные данные сначала вставляем в отдельную переменную как строку запроса, а потом передаем ее на выполнение в $mysql->query(). Таким образом перед выполнением запроса можно тем же var_dump() вывести запрос и проверить его визуально на правильность, ну или вставить руками в бд через phpmyadmin или другой инструмент работы с бд. Посмотреть ошибки - исправить.
    5) Во всех случаях нужно использовать подготовленные выражения. Код станет на 3 строчки длиннее, но на 90% качественнее.
    Профит.
    Ответ написан
    Комментировать
  • Почему получаю ошибку Warning: Undefined variable при суммировании в цикле?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - не ошибку, а предупреждение, а во вторых - читайте полностью, а не только кусочек предупреждения.
    в третьих - то что вы ее написали не есть объявление, то есть $bidsall у вас все равно null, а по уму должно быть 0.

    Если объявить переменную так $bidsall = 0;
    То все будет ок

    Тогда выдаст Warning: A non-numeric value encountered in
    Который тоже надо читать полностью, и скорее всего относится к значениям, которые вы складываете, а не к этой переменной. Кастуйте через floatval();

    И зачем у вас там br? Вы складываете или соединяете?
    Ответ написан
    1 комментарий
  • Не хочет включаться mcrypt PHP 7.4, что делать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    php -m- все модули cli php
    php -i- настройки cli php, включая нужный php.ini
    Ответ написан
  • Как использовать транзакции на уровне логической части программы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так как юзер у тебя имеет метод сохранения, то соответственно все манипуляции с сохранением отдаются на откуп этому методу, а сам вызов $Users->createUser() оборачивается в трай-кэтч, и если что-то пошло не так, должно всплыть исключение, ну и роллбэк тоже лежит в зоне ответственности метода сохранения, собственно перед выбросом исключения.

    ЗЫ: И $Users как переменная по пср именуется кэмэлкейсом, то есть с маленькой буквы.
    Ответ написан
  • Как правильно перевести CSV в SQL на PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Что за вопрос из тестового задания?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    скорее всего имелось в виду именно flush(), а не ob_flush(), но с 2012 года вся эта тема не работает.
    Ответ написан
    Комментировать
  • Цикл проходит несколько раз, где ошибка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    у вас как минимум 2 раза будут находиться по прегматчу строки, в вашем случае "origin":"MOW","destination":"AER", по этому дубли будут скорее всего всегда.
    Ответ написан
    1 комментарий
  • Почему не работает код в задаче гостевая книга на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    По порядку:
    Браузер выдает следующую ошибку:
    Во первых не браузер, а сервер, а браузер ее только отображает. Во вторых это уведомление и предупреждение, а не ошибка.
    Далее, если ваш $view->assign('persons', $data); работает верно - значит в индексе ДО этого места в дата ничего нет. Что легко проверить с помощью вар_дамп. И если там не пусто - что-то в вашем вью работает криво, или не так как вы предполагаете, читайте документацию к данному методу.
    Ответ написан
    4 комментария
  • Как правильно составить SQL-запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    джоин выданные книжки с книжками и с авторами и сум(авторс.ид) груп бай авторс.ид
    Ответ написан
    Комментировать
  • Как делать много проверок?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    запихнуть в БД, но при этом сначала сверить.
    Что и с чем?

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

    Но проблема появляется, когда такая таблица разрастается и одновременно данных много приходит.
    Логично и ожидаемо

    Делать каждый раз проверку, напрямую в БД, мне кажется, что тоже не особо рационально,
    Сильно зависит от проверки, как и от задачи в целом, которую вы так и не озвучили, что вы там проверяете...

    Как решают задачи подобные задачи?
    По разному, немного конкретики сильно поможет подобрать верный алгоритм работы.
    Ответ написан
    1 комментарий
  • Как правильно сравнить API ключ?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вопрос: Почему бы не использовать
    Во первых, так вы не будете знать в чем причина - в логине или в пароле, или в обоих полях. Во вторых, это МОЖЕТ работать с ключами, но с паролями так не работает, там другой алгоритм сверки, и желательно не плодить сущности и создавать максимально близкие по реализации алгоритмы в похожих местах.
    Ответ написан
  • Почему preg_match_all не работает?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    для тех кто в танке:
    $txt = '{"id":823, ... "SECTION_ID":"65","SECTION_CODE":null}},"offers":[]}'; //НУЖНЫ КАВЫЧКИ И ТОЧКА С ЗАПЯТОЙ!
    $arr = json_decode($txt, true);
    Ответ написан
    Комментировать
  • Как на php подключиться к dadata?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    читать что такое ошибка 500
    Сделать то что рекомендуется в таких случаях
    Поправить

    Композером вы, конечно, не пользовались...
    Уверен что отсталость разработчиков тут не при чем, а отстает от прогресса тут кто-то другой.
    Ответ написан
    Комментировать
  • Как запустить php скрипт прямо в html?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    php выполняется НА СЕРВЕРЕ. До того как вы получили хтмл на клиенте, можно сказать его получение на клиенте - результат работы php скрипта на сервере. По этому ответ - нет.

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

    Если потрудитесь объяснить что вам действительно нужно, возможно вам и с реализацией что-то подскажут.
    Ответ написан
    Комментировать
  • При проверике системы на производительность дает нагрузку файл /home/bitrix/www/bitrix/modules/main/tools/cron_events.php. Как уменьшить нагрузку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Операции по крону чаще всего выполняют обслуживающую разовую функцию, и часто что-то ресурсоемкое.
    2) @set_time_limit(0); как бэ намекает, что "сичас будит мясо", на которое потребуется нехило времени.
    3) require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/tools/backup.php"); дает намек на то, что мы будем делать что-то связанное с бэкапом, что всегда является не быстрой операцией.

    Так что в целом ответ - никак, забейте, оно не должно часто нагружать сервер, а то что происходит - должно произойти в любом случае.
    Ответ написан
    Комментировать