• Как сделать MySql выборку из несколькиз таблиц?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    SELECT * FROM Resources AS Models
    LEFT JOIN Resources AS Designs ON (Designs.parent_id = Models.id AND Designs.template_id = id шаблона дизайна модели)
    LEFT JOIN Resources AS Batches ON (Batches.parent_id = Designs.id AND Batches.template_id = id шаблона серии дизайна)
    WHERE Models.parent_id IS NULL
    AND Designs.id IS NOT NULL
    AND Batches.id IS NOT NULL


    Теперь приклеивайте к этому запросу JOIN-ы из переменных.
    Ответ написан
  • Будет ли правильный результат Date.now(), если у пользователя установлена некорректная дата и время?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Некорректный вопрос. Потому что не описано, КАКОЕ ИМЕННО время считается некорректным. На планете Земля имеется 24 часовых пояса, в каждом время отличается, и везде оно будет совершенно корректно в пределах своего часового пояса. Или имеется ввиду другой день недели, или другой месяц, или даже другой год? Так даже в этом случае число будет корректным (цифра - она и есть цифра), просто оно не будет соответствовать реальному времени в реальном часовом поясе.

    P.S. А вы собираетесь полагаться на это число как на идеально правильное и точное?
    Ответ написан
    Комментировать
  • Локальный адрес ISS - как создать?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    На каждом компьютере с Windows дописываете в файл C:\Windows\system32\drivers\etc\hosts строку
    11.22.33.44 baza.site-name.ru
    соответственно поменяв IP-адрес на адрес вашего сервера, а site-name.ru на реальное имя вашего сайта.

    И не забудьте в IIS (он именно так называется) тоже прописать ваше имя сайта, что бы IIS (повторюсь, он именно так называется) знал, что baza.site-name.ru находится у него, в такой-то директории.

    Это самый короткий путь, без настроек собственного DNS-а.
    Ответ написан
  • Как сделать отправку запроса данных с двух форм?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну хотя-бы так:
    if (!empty($_POST['name']) AND !empty($_POST['message']))
    {
        $send = ....;
        header("Location: /");
    }
    else if (!empty($_POST['desc']) AND !empty($_POST['file']))
    {
        $send2 = ....;
    }
    Ответ написан
    Комментировать
  • Remote side sent disconnect message type 2 protocol error как исправить?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Видимо нужно обновить PUTTY из-за этого бага.
    Ответ написан
    Комментировать
  • Как в LIKE настроить границу поиска по шаблону?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    `f` LIKE '3 %' OR `f` LIKE '% 3 %' OR `f` LIKE '% 3'
    Ответ написан
    Комментировать
  • Как понять рекурсию в коде ниже?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Первый вопрос: потому что срабатывает условие n <= 0, и возвращается 0.

    Второй вопрос: потому что число 2 в массиве находится в нулевом (1 - 1 = #0) элементе массива, именно оно суммируется с финальным 0, и эта сумма возвращается.

    Третий вопрос: получается стартовый элемент 3 - 1 = #2, значит суммируются числа 4 + 3 + 2 + 0 = 9, потому что именно число 4 находится во #2-ом элементе массива.
    Ответ написан
    Комментировать
  • Почему не выполняется условие в JavaScript?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так напишите console.log(result == "username-error");, и увидите результат этой проверки. И лучше делать console.dir(result);, тогда будет видна настоящая структура result, может там вообще массив сидит...
    Ответ написан
    Комментировать
  • Почему ошибка 520 Cloudflare при обращении по http, хотя по правилам Nginx настроен редирект на https?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас прописан только перманентный редирект всех HTTP запросов на HTTPS адрес сайта. 520-ая ошибка указывает на непонятный ответ вашего сервера Cloudflare-вскому серверу, возможно как раз из-за самоподписанного (неудостоверенного) сертификата. Настройте логи Nginx-а, и изучайте, что он там пишет... Сертификат можно у Let's Encrypt бесплатно взять.
    Ответ написан
    Комментировать
  • Как скрыть phpMyAdmin со всех сайтов кроме главного хоста на Ubuntu (apache + nginx)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас все server{} указывают на одну общую директорию, в которой ещё и phpMyAdmin валяется? Тогда сделайте хотя-бы
    location /phpMyAdmin/ {
    if ($host != "1.2.3.4") {
    return 444;
    }
    allow 1.2.3.4;
    allow 55.66.77.88;
    deny all;
    }

    И так - в каждом server{...}.
    Ответ написан
    Комментировать
  • Почему интернет провайдеры не могут мне дать "белый" + "динамический" IP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Купите пулл белых адресов, и самостоятельно между ними скачите. А если хотите бюджетненько - используйте прокси и/или TOR. И белый адрес нужен не для доступа наружу, а наоборот.

    Ломать уже настроенную инфраструктуру - это все равно что в 9-тиэтажке по просьбе собственника квартиры с 3-го этажа переделать ему потолки на 340см вместо 275см. Так - доходчиво?

    У любого провайдера есть белые IP, но у кого-то их всего 32, а у кого-то - 65535. Вопрос - кто может их раздавать? И у кого предусмотренна возможность раздавания? А она окупится? А резервировать список адресов монопольно под одного клиента - тоже окупится? Монопольно - потому что другие клиенты такого тупого скакания по свободным IP - не заказывали.

    P.S. Если блокируют ваш IP - может стоит задуматься над противоправностью ваших действий с этого IP? В правоохранительные органы ещё не вызывали?
    Ответ написан
    5 комментариев
  • Почему не работает условие if?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Потому что условие с ошибкой. Должно быть:
    <?if ($geturl != '/' && $geturl != '/page/'):?>
    Ответ написан
    Комментировать
  • Почему скрипт php не завершает свою работу после ухода пользователя?

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Это и есть Alias домена в HTTP-сервере.
    Просто в настройках прописывается не только основной домен на ispring, но и домен клиента. Когда HTTP-сервер получает HTTP-запрос, он ищет в запросе доменное имя. Если найденное доменное имя есть в конфигах - сервер понимает, из какой директории (приписанной к доменому имени) нужно брать файлы. Доменов можно приписать хоть 100500, все они будут работать с файлами в одной и той же директории.

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У элемента данных добавьте интервал с нулевым временем повтора интервала и периодом 4-4,07:00-07:10.
    В указанный период элемент данных не будет запрошиваться/приниматься/обрабатываться, а значит и триггеры по нему не будут срабатывать.
    Ответ написан
  • Как обработать все аргументы функции?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    function change(string &$x)
    {
        $x = trim($x);var_dump($x);
    }
    $v = "  bar  ";change($v);var_dump($v);


    Под разное кол-во аргументов:
    function change(string &$x0 = "", string &$x1 = "", string &$x2 = "")
    {
        for ($i = 0; $i < func_num_args(); $i++)
        {
            $s = "x{$i}";$$s = trim($$s);
        }
    }
    $v = "  bar  ";$w = "  foo  ";
    change($v);var_dump($v, $w);
    change($v, $w);var_dump($v, $w);
    Ответ написан
    Комментировать
  • Как работает SSL TLS сертификат?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Сертификаты генерируются удостоверяющими центрами (например бесплатный LetsEncrypt), которые подписывают новый сертификат своим ключём. Вы этот сертификат скачиваете и используете. И весь мир доверяет этому новому сертификату, потому что доверяет удостоверяющему центру, его сгенерировашему/подписавшему.
    Ответ написан
    Комментировать
  • Как узнать какие программы запускались пользователем?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В файле '/home//.bash_history' хранится история консольных команд этого . Там даже есть timestamp-ы. Но туда не попадают программы, вызванные через клавишу Enter в Midnight Commander-е. И еще, поскольку этот файл принадлежит пользователю, он может его изменять как угодно и когда угодно...
    Ответ написан
  • Почему список действий в Zabbix неполный?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вообще-то это действия для триггеров, для отправки извещений о проблемах с элементом данных.
    А действие для LLD явно должно быть где-то в другом месте, надо искать...

    P.S. Смотрите в "Обнаружении".
    Ответ написан
    1 комментарий
  • Почему unserialize не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Прогоните вашу строку через https://ru.functions-online.com/unserialize.html, сразу увидите позицию, на которой unserialize() спотыкается. Кстати, в лог файле ошибок HTTP-сервера эта ошибка обязана присутствовать, потому что PHP её должен отправлять в STDERR.

    P.S. И поменять на BLOB мало, надо еще и ошибку в serialized-строке убрать.
    Ответ написан