Задать вопрос
  • Как привести массив к виду?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    <?php
        $arr = ['Слово 1', 'Слово 2', 'Слово 3', 'Слово 4'];
        $arr2 = array_chunk($arr, 2);
        print_r($arr2);
    Ответ написан
    Комментировать
  • Как получить строки при совпадении?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Что за переменная $line, откуда взял? По твоему коду ты работаешь с одной большой строкой. Не легче сразу читать файл в массив через file()? Элементами массива будут строки, перебираешь их и делаешь все что хочешь.
    <?php 
        $file = file('/var/www/site.ru/data/logs/site.ru.error.log');
        foreach($file as $string){
            if(mb_stripos($string, 'Nemesida') !== false){
                echo 'Needle string : ', $string, '<br>';
                
                $re = '/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/';
                preg_match($re, $string, $ip);
                $client = $ip[1];
                echo 'client: ', $client, '<hr>';
                
            }
        }


    UPD.: По замечанию Ипатьев о том что не стоит читать логи через file пошел гуглить способы. Наткнулся на это:
    $fp = fopen('/path/to/log/file', 'r');
    while (true) {
        $line = fgets($fp);
        if ($line === false) {
            echo "no new content, sleeping\n";
            sleep(3);
            fseek($fp, 0, SEEK_CUR);
        } else {
            echo $line;
        }
    }

    Думаю не возникнет вопросов как это адаптировать.
    Ответ написан
  • Функции для авторизованных пользователей?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Проверяй авторизацию. Может быть немного по индусски, но я раньше делал так: при авторизации пользователя писал в сессию его логин, и на каждой странице, куда требовалась авторизация, запускал функцию, которая проверяла есть ли в сессии логин, если нету - отправляла на страницу авторизации.
    Ответ написан
  • Как сделать get запрос с выборкой по id?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Лучше пройтись по данным, собрать массив идентификаторов, отправить одним запросом на сервер. На сервере реализовать метод, который принимает этот массив, лезет в бд, вытаскивает нужную информацию и отправляет клиенту.
    Ответ написан
    3 комментария
  • Как изменить поле title в массиве?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Это не массив, а json. Преобразуй в массив через json_decode со вторым параметром true. Потом делай с ним что хочешь. Можешь через foreach пройтись по массиву и изменить title.
    Ответ написан
    Комментировать
  • Какое приложение на андроид, чтобы управлять машинками на РУ на частоте 2.4?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Я не думаю что есть такие приложения, совпадения частоты мало. Там еще куча протоколов. Некоторые игрушки от Hot Wheels поддерживают управление по wifi, у них есть свое приложение.
    можно тут почитать о протоколах
    Ответ написан
    Комментировать
  • Как сохранить значения действий пользователя при обновлении страницы?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Если есть авторизация, и есть желание сохранить значения надолго - пиши в бд (ajax). Если срок хранения неважен - localstorage или cookies.
    Ответ написан
    Комментировать
  • Где мобильный хот-спот?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Первая ссылка в гугле
    Важный момент! Функция "Мобильный хот-спот" появилась в Windows 10 версии 1607. После установки юбилейного обновления от 2 августа 2016 года. Если у вас система не обновилась (нет раздела "Мобильный хот-спот"), то есть два варианта: обновить Windows 10 до последней версии (через центр обновления, или скачав обновление с сайта Майкрософт), или же запустить точку доступа с помощью командной строки.
    Ответ написан
    Комментировать
  • Как отфильтровать данные формата json в php файле?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    json_decode(), перебрать массив циклом, foreach, например, в другой массив, и запаковать обратно json_encode()

    UPD. Накидал пример, взял твой json, сократил и добавил offline.

    <?php
        $json = '[{"id":"00000008524","title":"Комплекс из двух исследований \"МРТ головного мозга и гипофиза\" (Комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография, Комплексное МРТ гипофиза)","prefix":"","type":"online","price":330.46,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3600},{"id":"00000008520","title":"Комплекс из двух исследований \"МРТ головного мозга и шейного отдела позвоночника\" (Комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография, Комплексное МРТ шейного отдела позвоночника и спинного мозга)","prefix":"","type":"offline","price":332.29,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3900},{"id":"00000008522","title":"Комплекс из двух исследований \"МРТ грудного и поясничного отделов позвоночника\" (Комплексное МРТ грудного отдела позвоночника и спинного мозга, Комплексное МРТ поясничного и крестцового отдела позвоночника и спинного мозга)","prefix":"","type":"online","price":253.54,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3900},{"id":"00000008526","title":"Комплекс из двух исследований \"МРТ обоих плечевых суставов\" (Комплексное МРТ плечевого сустава, Комплексное МРТ плечевого сустава)","prefix":"","type":"offline","price":350.22,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":4800},{"id":"00000008523","title":"Комплекс из двух исследований \"МРТ поясничного отдела позвоночника, крестца и копчика\" (Комплексное МРТ поясничного и крестцового отдела позвоночника и спинного мозга, Комплексное МРТ крестца и копчика)","prefix":"","type":"online","price":301.84,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3900},{"id":"00000008521","title":"Комплекс из двух исследований \"МРТ шейного и грудного отделов позвоночника\" (Комплексное МРТ шейного отдела позвоночника и спинного мозга, Комплексное МРТ грудного отдела позвоночника и спинного мозга)","prefix":"","type":"offline","price":268.02,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":4200},{"id":"00000008528","title":"Комплекс из двух исследований \"МРТ шейного отдела позвоночника и плечевого сустава\" (Комплексное МРТ шейного отдела позвоночника и спинного мозга, Комплексное МРТ плечевого сустава)","prefix":"","type":"online","price":329.32,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":4500},{"id":"00000007924","title":"комплексное МРТ гипофиза","prefix":"","type":"offline","price":157.57,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":1800},{"id":"00000007738","title":"комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография","prefix":"","type":"online","price":182.70,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":1800},{"id":"00000007741","title":"комплексное МРТ грудного отдела позвоночника и спинного мозга","prefix":"","type":"online","price":118.44,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2100},{"id":"00000007735","title":"комплексное МРТ коленного сустава","prefix":"","type":"online","price":163.25,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2100},{"id":"00000007739","title":"комплексное МРТ крестца и копчика","prefix":"","type":"online","price":166.74,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2100},{"id":"00000007737","title":"комплексное МРТ крестцово-подвздошных сочленений","prefix":"","type":"online","price":113.94,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2400},{"id":"00000007730","title":"комплексное МРТ лучезапястного сустава","prefix":"","type":"online","price":184.50,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2400}]';
        echo 'Исходный JSON: ', $json, "<br><br>\r\n\r\n";
        
        $objects_array = json_decode($json);
        $new_objects_array = [];
        foreach($objects_array as $object){
            if($object->type != 'offline'){
                $new_objects_array[] = $object;
            }
        }
        
        $new_json = json_encode($new_objects_array, JSON_UNESCAPED_UNICODE);
        
        echo 'Перебранный JSON: ', $new_json;

    Ответ написан
    3 комментария
  • Возможно ли создать отчёт Excel с помощью SQL?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Дело в том, что мне эту функцию надо реализовать на сайте. То есть, чтобы пользователь мог выбрать период и получить необходимый отчёт.

    Так возьми PHP, библиотеку phpexcel. Там же можешь записать формулу.
    Ответ написан
    Комментировать
  • Как удалить себя из интернета?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    На самом деле ты себя никак не удалишь из интернета. Пару лет назад я тоже задался этим вопросом. Все эти "сервисы по удалению" полная туфта, это и ежу понятно. Вот реально что ты можешь сделать - почистить поисковики. Забивай в гугл\яндекс\бинг\майл\...etc свои данные ФИО, например. Потом смотришь что за инфа, в основном попадаются профили соцсетей, форумов и так далее. Тут пользуешься советом Neocaridina, заходишь в профиль, меняешь данные о себе, удаляешь фотографии. Через некоторое время все это пропадет из поиска. У меня проблемы возникли только с поиском от мейл.ру, у них поисковик как веб-архив, запоминает поисковый запрос и поисковую выдачу. Например, на мое фио он выдает мои старые профиля на разных сайтах, и ему совершенно плевать что ФИО там уже другие, так же у них недавно появилась новая вкладка "соцсети" в поиске. Туда вообще попала моя древняя страница из одноклассников, которая удалена лет 5 назад. Так же есть страницы, которые удалить вообще не получается, потому что ФИО указано как автор к научным статьям.
    Ответ написан
    2 комментария
  • Вывести echo да другой странице?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Что-то ты фигней какой-то маешься. На один вывод страницы ты пасишь чужой сайт несколько раз. На месте timeweb я бы тебя просто заблокировал. Ты парсишь цену, но она же не меняется ежесекундно, смысл ее парсить при каждом открытии страницы? Тебе Сергей delphinpro дал годный совет, так ты просто проигнорировал его и прислушался к какому-то ноунему, который сам не понимает. Пиши парсер отдельным сервисом, повесь его на крон, запуск раз в сутки\неделю\месяц, пиши результат в свою бд и доставай оттуда.
    Ответ написан
    Комментировать
  • Как отправлять данные методом POST?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    1 способ рабочий.
    index.php
    <html>
        <body>
            <button id="btn_send">send</button>
            <script>
            let data = {
                city: "Gorod",
                prim: "Примечание"
            }
    
            btn_send.addEventListener('click',async() => {
                console.log('dd');
              //отправляем данные методом POST
              let response = await fetch('web_tp_word.php', {
                method: 'POST',
                headers: {
                  'Content-Type': 'application/json;charset=utf-8'
                },
                body: JSON.stringify(data)
                });
                
                let result = await response.json();
                console.log(result);
    
            });
            </script>
        </body>
    </html>

    web_tp_word.php
    <?php
        $str = file_get_contents('php://input');
        $input_json = json_decode($str, true);
        
        $response = [
            'request' => $input_json,
            'test' => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            'test 2' => 'bla-bla-bla'
        ];
        
        echo json_encode($response, JSON_UNESCAPED_UNICODE);

    Скрин DevTools
    6152e6d3a2db7060497195.jpeg
    Ответ написан
    9 комментариев
  • Прибавить и вычесть процент у числа на php?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Ответ написан
    Комментировать
  • Данные на странице обновляются только после перезагрузки?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Никакого казуса нет, просто читай документацию
    https://www.php.net/manual/ru/function.setcookie.php
    После передачи клиенту cookie станут доступны через массив $_COOKIE при следующей загрузке страницы. Значения cookie также есть в $_REQUEST.
    Ответ написан
  • Можно ли как-нибудь уместить код PHP из 2 файлов в 1?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Можно. Другой вопрос: а нужно ли?
    Ответ написан
  • Js json как вернуть ответ из php?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    echo json_encode(
        [
            "res" => $arParams["~AUTH_RESULT"],
        ]
    );


    UPD. ТС не шарит. ForgotPassword.php - должен выдавать только JSON а не всю веб страницу с версткой, на лицо полное непонимание того что он делает.

    index.php

    <!DOCTYPE html>
    <html>
        <head>
            <title></title>
            <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
        </head>
        <body>
            <script>
                var result = axios.post('app.php?forgot_password=yes', JSON.stringify({
                  AUTH_FORM: "Y",
                  TYPE: "SEND_PWD",
                  USER_EMAIL: 'email',
                  USER_LOGIN: 'login',
                  send_account_info: "Send",
                  ChangeLk: 'Y',
                })).then(function (response) {
                    console.log(response.data.res);
                }).catch(function (error) {
                    console.log(error);
                });
            </script>
        </body>
    </html>


    app.php

    <?php
    
    echo json_encode(
        [
            "res" => 'Something',
        ]
    );


    Результат в консоли

    611a1b0b3c101416147614.jpeg
    611a1b10ca305483848051.jpeg
    Ответ написан
  • Как сделать так чтобы дополнительная скорость интернета для одного сайта распространялась на остальные?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Никак. Вместо магии индусов, лучше найди ролик, где объясняют как работают компьютерные сети, интернет и интернет провайдеры.

    з.ы. А еще на ютубе есть ролик, где индус заклеивает контакт на сим-карте и у него появляется высокоскоростной безлимитный бесплатный интернет, ахахах.
    Ответ написан
    Комментировать
  • Что использует Steam для запуска игр на Linux?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Серьезно? Первая же ссылка в гугле!
    6110de290b3fb855715783.jpeg
    Ответ написан
    7 комментариев
  • JS как заблокировать ввод в input до определенного знака?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Ответ написан
    Комментировать