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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    0 * * * * /bin/mysql --user=__user_name__ --password=__user_password__    __DATABASE_NAME__    <"DELETE FROM `battle_users` WHERE `btl` IN ( SELECT `id` FROM `battle` WHERE `team_win` >= 0 ) OR `btl` NOT IN ( SELECT `id` FROM `battle` )" >/var/log/cron_mysql_err.log 2>&1

    Разумеется все __строки__ заменить на нужные значения. И следить за содержимым /var/log/cron_mysql_err.log.
    Ответ написан
    Комментировать
  • Почему при обращении к xml файлу отдает пустой документ?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В curl() можно получить точный текст запроса к серверу.
    Вот смотрите его и текст запроса из обычного браузера, сравниваете построчно буква в букву.
    Если есть разница - меняете запрос curl(), что бы повторял запрос браузера. И т.д. и т.п.
    Ответ написан
    Комментировать
  • При обновлении страницы данные отправляются бесконечно раз в бд?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Есть вариант, надёжный: при генерации формы вставлять в неё одноразовый ключ, и запоминать ключ на сервере. При обновлении, если ключ на сервере есть - штатно обновлять информацию, и сразу стирать ключ. Всё, больше с таким ключём обновить не получится, нужно опять загружать форму, с новым ключём и уже новыми данными... Можно пойти дальше - при обновлении стирать все ключи, связанные с этой страницей/данными. Тогда другие вкладки/браузеры вынуждены будут обновить форму, в которой окажутся уже новые данные.
    Ответ написан
    Комментировать
  • Как в текст из базы данных вставить шаблон?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Состоятельно. Только обычно ещё "скрывают" такой макрос, например <!--KARUSEL-->.
    И второй момент, после этого надо в PHP-скриптах, выводящих текст в STDOUT, прописать замену строки KARUSEL на HTML самой карусели, чем-нибудь таким:
    $karusel_HTML = file_get_contents("./karusel.html");
    $html = str_replace("<!--KARUSEL-->", $karusel_HTML, $html);
    Ответ написан
    Комментировать
  • Failed to open stream: HTTP request failed! HTTP/1.1 418 I'm a teapot in // Где-то в коде ошибка?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А что тут решать? Сайт заявляет, что он - чайник. Что с чайника требовать?

    P.S. Просто срабатывает защита, из-за параметров запроса, или просто по ограничению количества запросов в минуту, или ещё по какому алгоритму... Теперь вам надо выяснить, что именно стало спусковым крючком к такому поведению ответу...
    Ответ написан
    Комментировать
  • Как используя ssh удалить из php файлов определённые строки вирусного кода?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Но учтите, без вылечивания дыры, через которую это делается - лечение кода бесполезно.
    sed -E -i 's@^[[:blank:]]*$_HEADERS = getallheaders.+@@g' filename.php

    P.S. Сначала проверьте на каком-нибудь подопытном файле.
    Ответ написан
    Комментировать
  • Как сделать редирект с https на http если заблокированы какие-то порты на хостинге?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если порт 443 заблокирован, то вы ни как не сможете хоть что-то сообщить пользователю, обратившемуся на 443 порт.

    Выход только один - вручную убирать s из строки адреса. Это единственный способ.
    Ответ написан
    Комментировать
  • Array или Массив с данными?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    curl_setopt_array() принимает массив строк. А у вас 'orderBundle' - это массив, состоящий ещё из массивов. Придётся преобразовывать его в строку самостоятельно...
    Ответ написан
    Комментировать
  • Как мне встроить Javascript в PHP-код?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вот чисто просто потому, что вы совершенно ничего не понимаете в том, что делаете:

    $customer_id = get_current_user_id();
    $last_order = wc_get_customer_last_order( $customer_id );
    $order_id = $last_order->get_id();
    $pros_html = "<div class='pcf-row'><b>Номер вашего заказа: {$order_id}</b></div>
    <script type='text/javascript'>
    jQuery(document).ready(function ($) {var order_id = '{$order_id}';console.log(order_id);});
    </script>";
    Ответ написан
    3 комментария
  • Как получить часть URI, которая идёт после основного домена?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    $_SERVER['REQUEST_URI']
    Поскольку написали много, но ни разу не показали URI запроса.
    Ответ написан
    Комментировать
  • Как массово заменить URL на кнопках (PHP. str_replace)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну дык...
    $text = preg_replace('@<a class="result__link base-button" target="_blank" href="/#[^"]+">Купить</a>@u', '<a class="result__link base-button" target="_blank" href="http://poddomen.site.ru/">Купить</a>', $text);
    Ответ написан
    Комментировать
  • Как избежать дублирования post при отправке формы через ajax?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Правильно будет найти причину удвоения, и исправить её. Всё!
    Ответ написан
    Комментировать
  • Как дождаться завершения процесса, запущенного через proc_open?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так вроде в документации по proc_open() всё и описано.
    while (!feof($pipes[1])) {...};
    proc_close($ph);


    P.S. Документацию надо чтить!
    Ответ написан
  • Как передать значение из одной страницы в скрипт формы, чтобы результат работы этого скрипта вывести в новой вкладке?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    На странице с серийными номерами каждый серийный сделайте ссылкой на вторую страницу, с аргументом вида server.net/page2.php?serial_id=AA12-34-5678.

    Соответственно на второй странице сразу делайте поиск этого $_GET['serial_id'], и выводите результат. Ну или если форма нужна-нужна-всенепременнейше - рисуйте эту форму с заполненным из $_GET['serial_id'] полем серийного номера.

    Всё!
    Ответ написан
    Комментировать
  • Почему приходят пустые данные с формы на почту?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так проверьте, какие данные приходят в PHP!
    Например прямо сейчас видно, что JS делает POST-запрос с phone, а PHP работает уже с $_POST['user_phone'].
    Форма без имени так вообще не показана, но работает с элементом id=tel.
    Ответ написан
    Комментировать
  • Почему PHP-скрипт зависает/завершается на паузе (sleep)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Под разными операционными системами есть разные способы:
    register_shutdown_function("func_shutdown");
    // or...
    pcntl_signal(SIGINT, "func_shutdown");
    pcntl_signal(SIGTERM, "func_shutdown");

    Так сможете обработать завершение скрипта, и хотя-бы частично узнать причину.
    Ответ написан
  • Как найти ошибку в телеграм боте?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас в коде ошибка, а так же переменная с неизвестным значением $date_time.

    P.S. Вполне могли бы сами найти причину.
    Ответ написан
  • Как на php окрашивать прямоугольник при наведении на него курсора?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В PHP нет прямоугольников и курсоров, которые может увидеть пользователь.
    PHP генерирует HTML, который передаётся браузеру пользователя, и отображается в браузере пользователя. Браузер так же отслеживает движение курсора мыши, и производит нужные действия с отображаемой картинкой.
    PHP в этом не участвует.
    Ответ написан
    Комментировать
  • Как правильно настроить Nginx под два домена и два сертификата?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Уберите оба маленьких server{} с listen 443 ssl;
    скопируйте-вставьте большой server{}, оставьте в каждом или %DOMAIN или %BY_DOMAIN%,
    и не забудьте в эти оба большие server{} вписать listen 443 ssl;, и соответствующие сертификаты.
    Фсё!
    Ответ написан
    Комментировать
  • Как обновить страницу в браузере после изменения в js скрипт?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Можно не менять путь, а в HTML в URL, указывающем на файл скрипта, добавить аргумент типа /script.js?random=2345785904948759438758934882940589394. И после каждого изменения скрипта менять в HTML вот это вот случайное число. Для браузера URL с другим числом - это другой файл, будет скачивать его заново.

    Ну а так, HTTP сервер у вас сконфигурирован неправильно, раз при изменении даты файла не видит этого изменения, или не сообщает браузеру об изменении...
    Ответ написан
    Комментировать