Задать вопрос
  • Как вернуть результат из php скрипта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    обычно обратно возвращают json в примерно таком виде:
    if($someError){
      echo json_encode( array('data' => '', 'error' => 5, 'errortext' => 'something goes wrong!');
      exit;
    } 
    else {
      echo json_encode( array('data' => 'some useful data', 'error' => 0, 'errortext' => '');
      exit;
    }

    В js меняем:
    .done(function(response){  // я обычно использую не .done а  .success
       if(response.error == 0){
            swal('Оплачено!', '22222222','success');
            return;
       }
       else {
          alert(responce.errortext);
          return;
      }
    })
    Ответ написан
    1 комментарий
  • Как передать массив отмеченных chechbox в форме с помощью AJAX?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    вариантов несколько:
    <input type="checkbox" name="checkbox[]" value="value1"> квадратные скобки - php автоматически преобразует в массив с цифровыми индексами
    <input type="checkbox" name="checkbox[some]" value="value2"> задать свой индекс массиву
    <input type="checkbox" name="checkbox[name]" value="value3"> (будет виден как $_POST['checkbox']['name'])
    <input type="checkbox" name="checkbox1" value="value4"> задать отдельное имя каждому чекбоксу

    В зависимости от задачи может подойти то или иное решение
    Ответ написан
    1 комментарий
  • Как сымитировать нахождение на сайте несколько секунд с помощью curl?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если сайт 1 конкретный, то спарсить руками запросы от браузера к следящим скриптам и имитировать их после захода на сайт в рандомном порядке(а-ля: запрос "двигаю мышкой", пауза эн секунд, запрос "скролл мышкой"...)
    Ответ написан
    Комментировать
  • Как сконвертировать фото из .jpg в .webp с помощю PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Где здесь ошибка в выводе БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    у вас сравнивается "... время сейчас больше чем время сейчас минус 10 минут", что всегда будет true. вы там даже не упоминаете поле даты...
    Ответ написан
  • Как загружать информацию о продукте при открытии в модальном окне?

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

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

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    $('#one').data('dataname', value); // помещаем данные в элемент
    let variable = $('#one').data('dataname'); // читаем данные в переменную

    <div id="one" data-dataname='some value'>
    тут инициализированный данными див, 
    можем его прочитать так же как в примере выше
    </div>

    hint: при добавлении данных через jquery метод data() данные в поле дата атрибута отображаться не будут(а они там есть! (с))
    Ответ написан
  • WordPress как ускорить поиск? Sphinx, ElasticSearch?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    А может сначала по-православному? Индексы, слоулог, експлэйн...?
    Ответ написан
    Комментировать
  • Как отправить сгенерированный на сервере файл и скачать его на клиенте?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Заголовки отправьте правильные, этого достаточно.
    в ноде не силен, в пхп примерно так:
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
     header('Cache-Control: no-store, no-cache, must-revalidate');
     header('Cache-Control: post-check=0, pre-check=0', FALSE);
     header('Pragma: no-cache');
     header('Content-transfer-encoding: binary');
     header('Content-Disposition: attachment; filename=some.docx');
     header('Content-Type: application/msword');
     echo $contentOfWordDoc;


    ...чтобы этот файл отправить на загрузку.

    а это для чего и зачем?

    Проблема в том, что при из последующем изменении этого документа на компьютере в каталоге создавалась папка <имя документа>.files со XAML-файлами.
    при сохранении такого файла по умолчанию ворд пытается сохранить его как хтмл, достаточно выставить нужный вам тип документа в селекторе типов при сохранении (docx например).
    Ответ написан
    2 комментария
  • Как получить данные и запустить событие у динамического элемента?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Но $('#html_id1').val(); в данном случае не работает. Как получить доступ к этим элементам?

    $('#div').find('#html_id1').val();

    Как запустить событие которые повешено на динамический элемент не осуществляя сам клик?

    $(documnt).find( '.radio', function({
       $(this).trigger('click');
    }))
    Ответ написан
    Комментировать
  • Выбор средств разработки для системы учета. Что выбрать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    как лучше сделать?
    поставить крон на выполнение каждый час, в панели управления давать задать время отчета в часах. Смотреть примеры cli php скриптов.

    подходит ли php вообще для решения моей задачи, или лучше что-то другое? Может вообще не стоит использовать веб-технологии?
    У вас архитектура клиент-сервер, веб направление ее частный случай, так что это неверный вопрос. А от выбора другого языка много не поменяется, если вы лучше знаете какой-то конкретный альтернативный язык с подходящим профилем (ява, питон, нода...) пишите на нем. Разницы особо нет. Но пхп подходит, я бы сказал обычно это язык первого выбора в таких проектах.

    А писать демон на php везде отговаривают, мол память ест.
    Писать своих демонов на любом языке задача не тривиальная, пхп кстати при грамотном подходе (как и на других языках) ничего лишнего не ест, да и эта проблема решается перезапуском демона раз в сутки. Просто тут задача не требует этого, достаточно штатных средств системы.
    Ответ написан
    Комментировать
  • Почему не работает ajax на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Для начала:
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);

    пока сайт не заработает в штатном режиме эти строчки должны быть первыми в скрипте. После этого уже можно что-то дебажить.
    Ответ написан
    3 комментария
  • Как отправить картинку методом POST после вставки картинки через ctrl+v?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Короткий ответ - никак, поля типа file являются ридонли, записать в них ничего нельзя.
    Длинный ответ - использовать скрытое поле и писать в него бэйс64 строку из прелоадера, на сервере отдельно декодить и сохранять как файл.
    Ответ написан
    8 комментариев
  • Какую БД выбрать для Electron-приложения?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    SQLite, в частности используется хромиумом для хранения данных кеша, так что "поддержка из коробки" присутствует.
    Ответ написан
    Комментировать
  • Как сделать insert в базу при выполнении определенного условия?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    как уже заметил eRKa это логика уровня приложения, и к бд прямого отношения не имеет. Проверка должна выполняться в серверном приложении, и как верно предложил dollar - сначала селект - по результату инсерт.
    Вариант делать перед insert-ом select (в котором проверять это условие) не подходит. Так как серия select-ов выполняется моментально, условие выполняется и затем все равно идет серия insert-ов.
    Ошибка на фразе "срия select-ов выполняется моментально". Каждый селект будет выполняться ПОСЛЕДОВАТЕЛЬНО, при условии лока таблиц на чтение для инсерта. И ничего не выполнится моментально, все будет по порядку.
    Ответ написан
    Комментировать
  • Почему не работает .on('click') на динамическом элементе?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    ellena, для начала - дебаг.
    let searchTopInput = $('#search');
    
    $(document).on('click', 'li.search-request', function() {
        console.log("input:",searchTopInput);
        console.log("clicked:",$(this));
        let clickText = $(this).text();
        console.log("text:",clickText);
        searchTopInput.val(clickText).focus();
        return false;
      });

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

    UPD:
    ...(пробел) был я его удалила, но событие все равно не происходит, точнее функция по его наступлению не выполняется
    Если функция в отдельном JS файле нужно очистить кеш и сделать хард релоад, надеюсь вы в курсе?..
    Ответ написан
    Комментировать
  • Как убивать сессию после закрытия вкладки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    100% способа проверить закрыл ли клиент вкладку нет, единственное что можно ПОПРОБОВАТЬ - по событию onbeforeunload посылать аякс запрос к серверу на логаут/дестрой сессии.
    Ответ написан
    Комментировать
  • Зачем использовать include если есть require?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Исторически сложилось так что в PHP МОЖЕТ произойти ситуация когда определенный файл может быть не подключен(по разным причинам, например права не те или по фтп случайно залили не тот файл). При этом функционал сайта не теряется полностью, а все еще может быть отображен, что вполне нормально в случае если сайт как сервис критичен для многих пользователей. В целом же в 99% случаев можно(и нужно) использовать require для более быстрого нахождения проблем в сервисе.
    Ответ написан
    1 комментарий