• Почему при парсинге слетает кодировка буквы 'Р'?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вы не дали ссылку на исходную страницу, не привели PHP-шный код разбора данных из текста страницы. Привели только скрипт запуска curl() для загрузки страницы, который к самой проблеме никак... А откуда появилось вот это 7 => string "..." и т.д.? Где этот PHP-код? Не, ну... Ну... Ну это как "у меня авто не едет, а нём все окна помыты и все фары/фонари тряпкой протёрты, помогите-люди-добрые", ей-богу!

    А по поводу порчи русской Р (HEX-код которой 0x04 0x20) - известная проблема. В preg_match/preg_replace надо использовать модификатор u: preg_match("/\S+/su", $str);
    Ответ написан
    Комментировать
  • Почему in_array() не работает в цикле?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    if ($key = array_search("976654", $session['data'])) {
      $result['id'] = $key;
    }


    Но при этом у вас $result не возвращается из функции через return $result;, и не является глобальной переменной, определённой вне функции check(). А значит вне функции check() вы его изменение и не увидите...
    Ответ написан
    2 комментария
  • Почему выдаёт ошибку err_name_not_resolved fix на сайте когда заходишь через внутреннюю сеть?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    NS-сервер, которым пользуются компьютеры вашей локальной сети, не знает IP-адрес требуемого сайта. И мало того, что не знает, он не сконфигурирован спросить IP-адрес этого сайта у других, вышестоящих NS-серверов, которые этот IP-адрес знают... Просите администратора разобраться.

    Ручной режим исправления - прописать IP-адрес и имя сайта (в виде 123.456.789.012 site.com, где IP-адрес должен быть ваш, реальный) на каждом компьютере в файле C:\Windows\system32\drivers\etc\hosts, и в консоли сделать ipconfig /flushdns.
    Ответ написан
    Комментировать
  • Превышения объема памяти php?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В ошибке говорится, что скрипты PHP уже загребли для работы 128 мегабайт (число 134217728, делённое на 1024 - получатся килобайты, и ещё раз делённое на 1024 - будут мегабайты) оперативной памяти. А в php.ini (а может в каком-то другом месте) стоит лимит оперативной памяти (и 128Mb - это значение по умолчанию) на один PHP-процесс в виде строки: memory_limit=128M.
    Вот PHP и пишет "лимит памяти превышен, прекращаю работу".
    Или повышайте лимит, или ищите причину расхода памяти в скриптах.

    P.S. Кстати, большие массивы ненужных данных можно вычищать из памяти командой unset($arr);, где $arr - имя массива с ненужными данными.
    Ответ написан
    Комментировать
  • Как получить chat_id для поиска по базе?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Удостоверьтесь, что в $result["message"]["chat"]["id"] вообще хоть что-то есть. А потом - что это число chat_id, конечно.
    Ответ написан
  • Как отменить обязательность заполнения текстового поля при отправке формы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    papakota, А если вам дать атомную бомбу, вы её взорвёте, что бы уничтожить всех этих... ну тупых болтунов-советчиков?

    Вам же написали раз <input type="text" name="contact" required />, потом второй ответ был тоже про required. Что бы сложить одно с другим, и понять, что нужно удалять слово required в строке <input type="text" name="contact" required /> - большого ума не надо. Ну, не больше, чем для лая на этих тупых... Ну вы поняли кто, да? Не тупой ведь?

    А вот где теперь будете искать текст <input type="text" name="contact" required /> (а его нет в приведённом файле productdetails.php) - это вам уже ни кто не поможет, все тупые обидятся и пройдут мимо. Если вы плюнете в толпу - толпа утрётся. А если толпа плюнет в вас...
    Хотя чё я вас учу, вы ж не тупой.
    Ответ написан
  • Не работает регистрация, в чем может быть причина?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Копать в сторону ini_set('display_errors', 0); error_reporting(E_ALL); и последующего разгребания ошибок в error.log HTTP-сервера (куда, как правило, складываются ошибки PHP, но бывают варианты...).

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну тогда хотя-бы так:
    function rights($rights){
    global $http, $user;
    if(!isset($user['rights']) OR empty($rights) OR $user['rights'] < $rights) {
    header('Location: '.$http.$_SERVER['SERVER_NAME']); exit;
    }
    }
    
    $user_id = isset($_COOKIE['uid']) ? fl($_COOKIE['uid']) : '';
    $password = isset($_COOKIE['password']) ? fl($_COOKIE['password']) : '';
    
    if(!empty($user_id) && !empty($password)) {
    $user = $base->query('SELECT * FROM `users` WHERE `id` = "'.mysql_real_escape_string($user_id).'" AND `password` = "'.mysql_real_escape_string($password).'"')->fetch_assoc();
    } else {$user = false;}


    P.S. Но явно дыра где-то в другом месте.
    Ответ написан
    Комментировать
  • Почему 2 http запроса к PHP выполняются по очереди, а не одновременно?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Действительно, однозначная поочерёдность.
    Но если сделать URL уникальным (через index.php?_=random()) - поочерёдности уже нет.
    Ответ написан
  • Почему не работает правильно регулярное выражение?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Исключаем O, o и 0 из списка разрешенных символов - получается вот:
    \b^[135][a-np-zA-NP-Z1-9]{3,10}\b
    Ответ написан
  • Как убрать все теги "a" из кода?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    <a href="[^"]+">[^<]+</a> с включенным "Regular expresion" в "search mode", разумеется.
    Ответ написан
    6 комментариев
  • Почему в данном случае оператор typeof() не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Павлины, говоришь? Хех! (с) тов. Сухов.

    Ну возьмите сделайте alert(String), увидите вывод function String() { [native code] }. typeof(String) тоже даст "function".
    Каким же таким вывертом typeof('text') (который выдаст "string"), станет равно "function"?

    "string" != "function", и это безотносительно того, что String без typeof().
    Ответ написан
    Комментировать
  • Как привести в порядок лог?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Код:
    foreach($arr as $key => $value) {
      $txt .= "<b>".$key."</b> ".$value."%0A";
    };

    замените на:
    foreach(explode(" ", $cookie) as $value) {
      $txt .= "document.cookie = \"{$value}\";\n";
    }
    $txt = urlencode($txt);
    Ответ написан
    3 комментария
  • Как через php запустить js скрипт или изменить стиль?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вы пишите внутрь тега <script>...</script> какой-то JS скрипт, и он после загрузки страницы будет выполнен.
    Напишите туда <script>alert(1234);</script> - и после загрузки страницы на экране выскочит окошко с текстом "1234" и кнопочкой "OK".
    Что напишите - то и выполнится, всё в ваших руках...

    А вот то, что вы хотите увидеть в результате выполнения скрипта, вместо активации этого выбивает аллерт вместе с этой надписью.... Блин, вообще непонятно, чего вы от скрипта хотите.
    Ответ написан
    2 комментария
  • Как разделить сессии на разных вкладках браузера(альтернативы сессиям)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Каждой вкладке присвоить свой уникальный $TAB=uniqid(), и при каждом переходе/загрузке страницы/сабмите формы использовать его во всех URL (site.org/index.php?TAB=$TAB) и во всех формах (<input type=hidden name=TAB value='$TAB'>). Так и дифференцировать.
    Ответ написан
    Комментировать
  • Как разбить полученные данные скриптом php на соответсвующие массивы для insert в mysql?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    После кода:
    $json_data = json_decode(iconv("CP1251", "UTF8", $json));

    получится массив данных в $json_data:
    Array
    (
        [data] => Array
            (
                [0] => Array
                    (
                        [sku] => 100008
                        [name] => Тетрадь ЗЕЛЁНАЯ обложка 12 листов "Архбум", офсет, клетка с полями, AZ02
                        [category_list] => Array
                            (
                                [0] => 26551
                                [1] => 216228
                                [2] => 216560
                            )
    
                        [manufacturer] => Россия
                        [vendor_code] => AZ02
                        [barcode] => 4607106500012
                        [brand] => АРХБУМ
                        [description] => Школьная тетрадь с классической зеленой обложкой формата А5.
                        [description_ext] => 
                        [weight] => 0.035
                        [volume] => 0.0001
                        [characteristic_list] => Array
                            (
                                [0] => Линовка блока: клетка
                                [1] => Количество листов: 12
                                [2] => Обложка: "зеленая"
                                [3] => Формат: А5
                                [4] => Наличие полей: да
                                [5] => Тип скрепления: скрепка
                                [6] => Внутренний блок: офсет
                                [7] => Плотность внутреннего блока: 60 г/м2
                                [8] => Однотонный дизайн обложки: да
                                [9] => Количество дизайнов в упаковке: 1
                                [10] => Длина: 205 мм
                                [11] => Ширина: 165 мм
                            )
    
                        [facet_list] => Array
                            (
                                [0] => Array
                                    (
                                        [name] => Количество листов
                                        [value] => 12
                                    )
    ...........

    Разумеется исходную кодировку (строка "CP1251" в iconv()) подкорректируйте в соответствии со своей кодировкой данных. Если не перекодироовать русский текст в UTF-8 - то json_decode() не справится с этими данными.
    Ответ написан
    1 комментарий
  • Почему бьются файлы при сохранении на другом компе?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вполне возможно, что домашний компьютер не обеспечивает необходимого уровня тока на USB-порту.
    В отличие от флешек, жеские диски (особенно обычные, с моторами) достаточно прожорливы, им и 500 mA может быть маловато.
    У некоторых HDD например делали провод сразу с двумя USB-штекерами, что бы брать ток из двух USB-портов, с запасом...

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну всё правильно сортируется, с уменьшением `new_tours.id`.
    Если у вас будет несколько записей с id=3255, то они отсортируются с уменьшением значения `count(tp.id)`.
    Можно перенести `count(tp.id)` на первое место, тогда сначала будут все count() == 20, потом 19, 18, 17, и т.д., и т.п., и в.с. и а.я., и 0.0.

    P.S. А то, что вы хотите - это аналог значенитого "нам нужно 7 красных линий, и что бы 3 из них были зелёные".
    Ответ написан
  • Как исправить проблему с кодировкой?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В HTML-файле в кодировке UTF-8 сразу после <head>
    добавьте строку <meta charset="utf-8">.
    Ну и проверяйте в браузере, конечно.

    Если хотите такую-же строку для Windows-1251 - то будет <head><meta charset="windows-1251">, но всё-таки лучше использовать UTF-8.

    Поисковая система воспользуется значением из meta charset=..., и всё будет отлично.
    Ответ написан
    Комментировать
  • Как проверить работоспособность выделенных ip-адресов на web-сервере?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    karpo518, ручное вмешательство БЫЛО, потому что вы сами видели в файле '/etc/network/interfaces' прописанные дополнительные адреса. Кто их туда прописал - это уже другой вопрос, я тут не смогу.
    Почему перестало работать? Вот тут смогу. Ubuntu в очередной раз обновилась, и основной утилитой конфигурирования сети стал netplan (хотя кто его об этом не просил?). А поскольку дополнительные адреса были прописаны нестандартно, отдельными записями - скрипт миграции с одной конфигурации на другую не смог их корректно распознать/перенести, вот они и потерялись/отключились. Вуаля!

    P.S. Написал, что бы можно было отметить ответ - решением.
    Ответ написан