• Как прослушать XHR-запрос?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Самый правильный путь - найти геометрический центр скопления, и от него перейти в радиальные координаты, двигаясь по кругу соединить все точки.
    Второй, и как мне кажется на порядок более простой вариант - находим геометрический центр скопления, делим область на 4 части осями х и у, далее сверху вниз проходим каждую из них, соединяя каждую нижележащую с предыдущей (полинейное сканирование). Крайние точки областей соединяем - профит.
    Ответ написан
    Комментировать
  • Как удалить выделенные элементы в todoList'e?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR: индексы сбиваются в цикле при удалении.

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    в админ панели с редактирования заказа обращается по curl к апи расположенному на стороне сайта
    Код в студию, возможно вы что-то не так поняли или неверно изложили мысль.

    там в свою очередь выбирает товары по сессионым куки
    Сессионным куки кого? Админа? Пользователя?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Смотреть логи, или выводить все что происходит в коде:
    ini_set('error_reporting',E_ALL); // выводим все ошибки и варнинги
    ini_set('display_errors', 1);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // все ошибки соединениея и бд выводим
    $mysqli = new mysqli("localhost", "root", "", "testtest");
    $sth = $mysqli->prepare("SELECT * FROM test_eisenck WHERE id=?");// бинд не поддерживает ничего кроме "?"
    ...
    $arResult = $sth->fetch(); // читаем про фетч, а PDO::FETCH_ASSOC вообще от другого драйвера
    Ответ написан
    Комментировать
  • В чем ошибка Fatal error: Uncaught Error: Call to a member function prepare() on null in?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $link=mysqli_connect("localhost", "root", "", "temp");
    ...
    $sql = $pdo(?????)->prepare

    Зачем приведен класс PdoConnect не ясно, так как он в коде вообще не участвует...
    Ответ написан
    Комментировать
  • Как добавить и центрировать текст в карусели bootstrap 5?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще внутри carousel-item может лежать абсолютно любой хтмл, в том числе и с достаточно сложной структурой, по этому вопрос слегка странный... Рисуйте внутри слайда блоки любой желаемой конфигурации.
    Ответ написан
    Комментировать
  • Как сохранять файл при отправке формы (в случае если форма не валидна)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Самым логичным вариантом кажется валидация полей аяксом, и если все ок - засубмитить форму яваскриптом.
    Как вариант, все отправлять аяксом, и в случае успеха просто редирект на нужный роут, но в таком случае придется заморачиваться с файлами - ждать пока загрузятся, удалять если форма не валидна... Или гибридный вариант - отослать поля без файлов, если все ок - дослать аяксом файлы, потом редирект, имхо самый толковый вариант, как по логике, так и по ресурсам.
    Ответ написан
    Комментировать
  • Актуальны ли технологии AJAX и JQUERY при нынешних веб реалиях?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    jquery - такой себе жс для ленивых, много длинных функций объединенных в удобные обертки, естественно найдется как много сторонников jquery (например есть куча готовых жс скриптов использующих как движок jquery), так и много поборников "чистого арийского" кода (только ванилла, только хардкор!). На самом деле все зависит от задачи, уровня владения и философии разработчика. Как таковая библиотека не особо устарела и много где используется, использовать ли ее лично вам - вопрос вкуса и убеждений. Подробнее обсуждалось тут.

    что касается AJAX - скорее всего вы не совсем понимаете в чем суть, так как это не какая-то библиотека или фреймворк, а метод взаимодействия между клиентом и сервером, по протоколу http(s), позволяющий отправлять запросы без необходимости перезагружать страницу, но из контекста страницы (читать про XMLHttpRequest), и является неотъемлемой частью веб апи и устареет еще очень не скоро. Как некая альтернатива ему может выступать сокет соединение, но обычно области применения этих технологий разные, как и задачи, которые они выполняют.
    Ответ написан
    9 комментариев
  • При установке php-imagick не хочет ни в какую ставиться че делать?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    sudo apt-get install php-imagick
    https://askubuntu.com/questions/769396/how-to-inst...

    You may need to run apt-get update and apt-get upgrade (or apt-get dist-upgrade prior to running apt-get install php-imagick
    Ответ написан
    1 комментарий
  • Как преобразовать аудио-файл в нормальный mp3 на PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    https://github.com/PHP-FFMpeg/PHP-FFMpeg , библиотеку и сам ffmpeg надо устанавливать на сервер. Если у вас шаред хостинг, скорее всего облом.
    Ответ написан
    3 комментария
  • Что такое модульность приложения?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Какие действия начинаются в команде после слов, что приложение должно быть модульным и написанного ТЗ по функционалу и визуалу?
    Решается вопрос с архитектурой, какой язык и фреймворк будет использован, какие объекты понадобятся, как будет выглядеть интерфейс, какие иконки нужны, какие таблицы в бд, как они связаны, что можно взять из готового, а что будет писаться с нуля и еще около тысячи мелких деталей...

    Или все возможные функции должны быть запланированы сразу на 10 возможных лет, чтобы хоть как-то ответить на этот вопрос?
    Нет, при наличии нормальной архитектуры программные фичи достаточно легко интегрируются с уже написанным кодом, собсно ооп как раз топит за низкую связанность, то есть максимальную независимость компонент. Если все +- в пределах канона ооп, особых проблем быть не должно.

    Выбор бд, аренда сервака,
    От задачи уже решается, в том числе от планового объема хранения, а аренда сервака скорее от предполагаемой нагрузки, которая тоже естественно будет совершенно разной для разный приложений.

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

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    если я получаю данные в массиве и не могу добавить span, тоесть разметка такого плана {text}.
    Если вы получаете данные в массиве, значит вы можете сделать с этими данными все что угодно. То что в шаблоне они в итоге будут представлены псевдокодом разметки, будет уже не важно, если вы, перед передачей в шаблон, обработаете их любым желаемым способом. Естественно на чистом цсс отделить первое слово нельзя (по крайней мере в текущем стандарте).

    Если добавить после первого слова \n и задать блоку с текстом white-space: pre-line;, как раз получите свое первое слово в первой строке.
    Ответ написан
  • Может ли неавторизованный пользователь изменить свой комментарий?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    где я ошибся?
    ...
     if (i % j !== 0){ //тут
        b+=1
     }
    ...

    Кроме того, неплохо бы проверять что i <= j, чтобы не гонять лишние циклы
    Ответ написан
    1 комментарий
  • Как обработать запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Хинт: var_dump($_POST);
    Хинт 2: ... name="areato" ... name="id" ... => $_POST['goclient'] (?????)
    Ответ написан
    Комментировать
  • Как разместить фон на половину контента, чтобы сам контент при этом оставался на месте?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    велик засунуть бэкграундом в col-8 и дать ему background-size: contain, думаю то что нужно.
    Ответ написан
    Комментировать
  • Как генерировать красивый PDF с помощью PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR: Если нужно точное совпадение с хтмл шаблоном - только хеадлесс хром, остальное достаточно сильно отличается от оригинала, в силу ряда проблем.

    Сталкивался ровно с такой же задачей пару раз, нормальных вариантов на самом деле всего 2:
    генерить на фронте через хтмл2пдф, или подобные библиотеки, работающие через канвас,
    или на бэке через хеадлесс хром.

    Естественно оба со своими нюансами. В первом случае минус в том что пдф по сути будет набором картинок скринов, со всеми вытекающими, типа разных размеров экрана и невозможности выделить например текст в готовом пдф.
    Во втором - надо ставить хедлес хром на сервер и соответственно из бэка отдавать ему сгенеренный хтмл, что несет свои трудности и приколы, зато на 99,9% совпадает с тем что вы отправляете на печать из хрома, и отладка и подгонка хтмл под формат в разы проще и удобнее. Кроме того, использование стилей и медиа запросов для печати открывает невероятную гибкость в плане работы с готовыми шаблонами (автонумерация, поля, колонтитулы етц). А, и забыл киллер фичу - оно выполняет жс, то есть если есть графики или какие-то элементы, выводимые через жс - то только хром, других вариантов просто нет.

    Что касается других библиотек (mpdf, FPDF, wkhtmltopdf) - все они сильно "плавают" в отличие от хрома, многие вещи в них просто невозможны, кроме того у некоторых есть хронические проблемы со шрифтами и кодировками... Возможно за последние 3 года с тех пор как я их пробовал что-то изменилось, но думаю часть проблем все равно осталась.
    Ответ написан
    4 комментария
  • Как скрыть кнопку, а то что в ней показывать?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    нужно сделать вид якобы я нажимаю на иконку, но на самом деле на кнопку
    и какая разница? Сделайте на жс клик-поведение как кнопка.
    ну или через попу:
    .myButton{
      background:none;
      border:none;
      cursor:pointer
    }
    Ответ написан
    Комментировать
  • Как сделать кнопку "принять всё"?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    $(".check_all").on('click', function (e){
       e.preventDefault();
       $(".services input[type='checkbox']").prop( "checked", true );
       alert ("я сделяль!");
    });

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