Задать вопрос
  • Как нажимать на кнопку "печать" в диалоговом окне с помощью js?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1)
    Но в этом коде окно печати открывается, и страница сразу перезагружается. Страница, соответственно, не печатается.
    Может для начала уберете location.reload(); и разберетесь с печатью?
    2) Если речь идет о кнопке печати в модальном окне хрома, то никак. Во первых данный хтмл вне контекста текущего документа (и соответственно жсом туда не достучаться), во вторых там может быть что угодно у пользователя выставлено по умолчанию, у меня например сохранение в пдф, что вызывает еще диалоговые окна и т.д..
    Ответ написан
    Комментировать
  • Почему верстальщики обычно вырезают круглую картинку квадратом?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Круглые картинки без фона - это либо пнг, либо вебп (думаю неприменимость формата гиф очевидна и так). Не все картинки хорошо смотрятся в пнг и не все браузеры полностью поддерживают вебп.

    2) Цсс такая штука, специально придуманная для того, чтобы если завтра мода на круглое сменится модой на квадратное, то "легким движением руки брюки превращаются в элегантные шорты". И для этого не понадобится перепердоливать стотыщь картинок обратно в квадраты.

    3) В обратную сторону так же работает - для смены дизайна с квадрата на круг достаточно просто скруглить углы контейнера.

    4) Сделать тумб с "круглым видом" программно сложнее чем с квадратным.

    5) Артефакты при нарезке из квадратного в круглое смотрятся хуже, чем, по сути, векторная маска, наложенная на цельное квадратное изображение.

    Короче, не зря делают.

    PS: На дом - научиться самостоятельно искать аргументы в пользу / против какого-либо замеченного технологического приема.
    Ответ написан
    1 комментарий
  • Как отловить баг на продакшене?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    боюсь, такое логирование уложит спать боевой проект. Хотя ненадолго можно попробовать.
    Я про логирование запросов к Mongo..
    Во первых все логировать не нужно. Можно тупо в коде доктрины апдейты только ловить и логировать, можно иначе извернуться, но вам нужны, очевидно, только апдейты. Которых сомневаюсь что мильён в секунду. Ну и во вторых - просто малореально что-то другое придумать...
    Ответ написан
    Комментировать
  • Защита данных в API?

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

    как защитить данные?
    От кого?

    Можно ли использовать HTTPS
    Разрешаю, можно.

    и как это сделать
    На сервере ставите сертификат, в клиенте прописываете урл апи с https.

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    echo 'Недостаточно средств для покупки!';
    header("Location: " . $_SERVER['REQUEST_URI']);
    Вы определитесь, или ечо или редирект, одно ломает другое, если что...

    но перестали работать кнопки...
    Кнопки работают, но при нажатии на них просто перезагружается страничка и всё.
    Во первых - так работают или нет?
    Во вторых - обработчик другой файл/урл? В форме экшн не указан, соответственно форма отправляется на текущий урл. Ну и смотрите нетворк - происходит редирект после отправки формы, или форма просто грузится еще раз. Так же будет не лишним добавить вывод ошибок, чтобы понимать что вообще происходит.
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    Ответ написан
    2 комментария
  • Могу я задать вопрос по коду, как мегаджун JS?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Плохой код, который выполняет задачу, лучше чем отсутствие кода
    2) Перед работой составьте примерный план, например: "сначала получаем данные, потом с ними делаем это или это, потом выводим..." Это помогает не лепить откровенную фигню по ходу дела и не переписывать все по 10 раз.
    3) Смысл рассматривать простыню из кода новичка отсутствует, так как это похоже на оценку походки будущей фотомодели по первым шагам в ходунках. Никто не пишет хороший код сразу, учиться и писать много - лучший путь обучения.
    4) Смотрите на чужие готовые решения, думайте как использовать интересные приемы, именно свои выводы и ошибки делают вас программистом+, а не гов*окодером. Задатки и желание у вас есть, значит все получится.
    Ответ написан
    Комментировать
  • Может ли MySQL глючить?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Все работает в 99% нормально, но иногда проскакивает выдача другой строки, не с таким полем, по которому ищем.
    Это просто значит 99% проблема в коде. Логируйте в файл запрос, параметры и результат выполнения, скорее всего логика работает не так как вы задумали. Как только словите ошибку - смотрите свой лог, наверняка запрос будет отличаться от ожидаемого.
    Ответ написан
    2 комментария
  • Как лучше организовать запрос к БД на основе данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ведь при использовании placeholder, как указывать только те параметры, которые добавлены в сам текст запроса ?
    Гуглите построитель запросов PHP. Или используйте готовые фреймворки, куда они уже встроены.
    Ответ написан
    Комментировать
  • Вывод из бд данных и присваивание им значение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидным решением выглядит поле типа tinyint и таблица значений со связью 1 ко многим. При запросе используем join по соответствующей связи полей, получая весь набор, включающий имя статуса (ACTIVE, BLOCKED и тд).
    Ответ написан
    Комментировать
  • Как исправить ошибку на сервере?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую что не настроен mod_rewrite. Соответственно все чпу превращаются в тыкву. Настраивайте апач через .хтакксесс файл.
    Ответ написан
    6 комментариев
  • Как вывести одиночное значение из массива?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $stmt = $pdo->prepare("SELECT * FROM category WHERE 'id'=:id AND 'name'=:name");
          $stmt->execute(['id'=>$id, 'name'=>$name]); //откуда эти ид и нэйм? И зачем нэйм если есть ид?
          $res = $stmt->fetch(PDO::FETCH_ASSOC);
          if ($id = $_GET["cat_id"]) { //опять, что за ид и почему мы его сравниваем с гет переменной?
            echo $res[$id];
          }

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

    массив гет я как раз не хотел в pdo запихивать..не знаю чет мне кажется опасно это
    Вы запихиваете не в pdo, а в prepared statements, так что безопасно. Опять же - хорошо что используете и попался толковый пример, плохо что не понимаете зачем это и как работает. В итоге код должен быть именно как написано у SagePtr
    $stmt = $pdo->prepare("SELECT * FROM category WHERE `id`=:id");
    $stmt->execute(['id'=>$_GET['cat_id']]);
    Ответ написан
    3 комментария
  • Почему сайты на сервере работают медленно?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Гадание на листьях опавших с ветвей сакуры нифига не даст.

    Тупо ставьте метки по ходу выполнения кода, в конце считайте время выполнения кусков, смотрите какой кусок тормозит, разбивайте его на более мелкие таймфреймы, пока не вычлените проблемный кусок. Из опыта - 90% что тормозят запросы в бд, но вышеописанным способом это легко вычисляется.

    Так же есть вероятность что проблема не на бэкенде, а в подгрузке ресурсов типа фонтов или скриптов со сторонних сервисов, которые сейчас работают не очень стабильно (ну да, "а что случилось?"). Опять же легко проверяется разницей между выполнением всего кода и полной загрузкой страницы.
    Ответ написан
    2 комментария
  • Насколько полезно читать книги?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Насколько полезно читать книги по програмированию и какое у них преимущество
    Книги читать полезно в любом случае, но эффект будет ТОЛЬКО если вы будете применять прочитанное на практике, просто почитать и запомнить работать не будет.

    что с
    видеокурсами или самоличному изучению того или иного путём поисков этого в гугле?
    : Книга - отдельный толковый труд, хорошо продуманный, отредактированный, структурированный и выдающий материал последовательно и без больших пропусков. То есть отличается цельностью и подробностью.

    В противовес этому, например видео, чаще всего короткие, по одной какой-то теме, которая интересна автору или аудитории. Да, есть хорошие видеокурсы, прям хорошо поданные и хорошо сделанные, но большей частью это обрывочные ролики на 1 тему, а не учебный материал от и до. С какими то отдельными вопросами отлично помогает, но системность никакая.То же касается гугления - чаще вы найдете отдельный ответ на отдельный вопрос, а не всю тему от начала до конца. Больше подходит для "разобраться в непонятном куске учебника", нежели для системного обучения.

    И практика, без ее как книжки, так и видеокурсы бесполезны.
    Ответ написан
    1 комментарий
  • Нужно ль изучать математику параллельно изучению программирования?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    увязано ль программирования с математикой само по себе, иль нет?
    В некоторой мере. Большей частью нет, в специфических случаях нужно понимание некоторых аспектов алгебры и теории множеств, базовое понимание теорвера, дискретной математики и теории графов. Сказать что без этого нельзя изучать программирование будет преувеличением, но знание этих предметов сделает некоторые части обучения более простыми. Естественно, базовая математика в рамках школьной программы нужна практически в любом направлении.

    В остальном, хотелось бы обратить ваше внимание на пункты 3.2, 3.3,3.4 и 3.6 правил сервиса.
    Ответ написан
    Комментировать
  • Как составить sql запрос для вывода Новость дня?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    group by + count()
    Ответ написан
  • Почему при отправке данных на почте пустые сроки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов, собсно, 2:
    1) Не туда
    2) Не так

    В первом случае убедитесь что вы отправляете данные на нужный роут. Вероятность не большая, но есть.

    Во втором случае достаточно проверить в каком формате вы отправляете данные, и какие данные приходят. Формат отправки можно посмотреть в нетворке, а в коде первыми строками проверить что приходит в $_POST - var_dump($_POST);exit(); Возможно (и похоже на то) что вы отправляете форму аяксом, а данные передаете в теле как жсон например. Естественно, при этом ловить что либо в пост переменных бесполезно ), тут нужно будет щупать php://input
    Ответ написан
    4 комментария
  • Как упростить примитивную тернарную логику?

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

    Если смысл в сокращении количества вызовов, то
    $res = anyFunc($var); if(!empty($res))return $res; или, как написал коротко iljaGolubev, if($ret= anyFunc($var)) return $ret;, но я предпочитаю разбивать присвоение и проверку в разных строках, для читаемости.
    Ответ написан
  • Почему функция обрабатывается лишь раз?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    Ответ написан
    2 комментария
  • Как сделать что бы после отправки формы со страницы, после ручного обновления страницы повторно повторно не отправлялась форма с данными?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    После обработки формы делайте редирект на другую страничку методом get (например на страничку с подтверждением - "все прошло ок, данные загружены"...).
    У вас же вроде реализована переадресация обратно на формуredirect(url_for('add_slab')), но в форме не выводится флш месадж через get_flashed_messages(), который сетится в обработчике - flash('Сляб добавлен к карте заказа', 'info')
    Ответ написан
    Комментировать
  • Куда мне развиваться в веб программировании?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Что мне еще надо знать чтобы уже в 14 лет делать сайты на заказ?
    А не на заказ пробовали что-то серьезное реализовать? Чего не хватило?

    По уму, если именно на заказ - вордпресс и вперед. Дешево и сердито. Если что-то сложное и с уникальным функционалом - фреймворки, Джанго под пайтон или лару под пых... На фронтенд соответственно вуй или реакт. Это стандартный набро фулстака на сегодня.
    Ответ написан