• Как работать с блоками HTML?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    В данном случае – изучить документацию Bootstrap
    Если что-то непонятно будет, то тогда и задавать конкретные вопросы
    Ответ написан
    1 комментарий
  • Какую библиотеку для PHP 8 можно использовать для редактирования метадаты в PDF файлах?

    Adamos
    @Adamos
    Ghostscript через командную строку. Он все равно должен быть установлен, чтобы работать с PDF.
    Ответ написан
    9 комментариев
  • Как исправить Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: :max?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. В PostrgeSQL используется синтаксис
    [ LIMIT { number | ALL } ] [ OFFSET number ]
    2. Нельзя передавать в запрос параметры, для которых в запросе нет плейсхолдеров.
    Ответ написан
    1 комментарий
  • Какие особенности разработки сайтов под тор/даркнет?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Никаких особенностей нет - это точно такие же сайты.
    Мб максимум - стоит попытаться реализовать их без js, тк в том же Тор браузере изначально стоит расширение, которое отключает js
    Ответ написан
    1 комментарий
  • Google Consent Mode v2 / режим согласия Google v2 как установить?

    @lotse8
    Ставить нужно обязательно. У Google есть список доверенных платформ, с которыми он работает.
    Вот бесплатный вариант до 5000 просмотров в месяц, дальше 12 евро/мес. - цены ниже на странице, написано все на русском, можно язык переключить
    https://www.consentmanager.ru/%d0%b8%d0%b7%d0%b4%d...
    Поставьте срочно этот, а потом, если желание будет разбираться и свой писать, то разбирайтесь. Удачи.
    Ответ написан
    Комментировать
  • Работа с api/hash или как правильно защитить http/fetch запросы на сайте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Лучший (и единственный) вариант - работать через свой бэкенд и нигде никогда не светить ключи от посторонних API. На своём бэке вы можете вводить любые ограничения на частоту и количество запросов к чужому API.
    Всё, что попадает к клиенту, или приходит от клиента - небезопасно по умолчанию.
    А Restrict to domain вам не поможет, в браузере можно написать JS-код, который будет работать с вашим ID прямо на вашей же странице и массово генерировать запросы.
    Ответ написан
    8 комментариев
  • Почему выводится текст вместо QR кода?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Ничего не понял из того на чем вы это делаете, но
    qr('{$product.name')}
    скобка - апостроф - фигурная
    а справа идут не в обратном порядке
    Ответ написан
    Комментировать
  • Как составить запрос на экспорт таблицы БД?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Выгружаемые запросом данные - это именно данные. Сведения о структуре выходного набора - это метаданные. Получить одновременно их в одном запросе в общем не получится.

    Возможное решение - UNION ALL двух запросов. Первый - получающий список полей таблицы из INFORMATION_SCHEMA.COLUMNS в виде CSV, второй - собственно показанный запрос. Поскольку UNION ALL не перемешивает выходные записи, получится вроде бы то, что нужно.

    Однако есть грабли. Невидимые вычисляемые столбцы. Они будут присутствовать в списке полей, но не в наборе данных.

    См. fiddle
    Ответ написан
    Комментировать
  • Как исправить "Input string was not in a correct format."?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Полагаю, вы хотели подставить между знаками процента значение из поля ввода (txtSearch.Text), которое передается в string.Format? В таком случае надо между фигурным скобками подставить порядковый номер параметра (он начинается с 0): string.Format("%{0}%", txtSearch.Text)

    PS Из соображений безопасности (чтобы избежать SQL-инъекции) крайне не рекомендуется напрямую копировать в строку запроса сырые, непроверенные, данные из ввода пользователя - а вы сделали именно так. В учебной задаче это допустимо, но лучше сразу привыкать делать по уму: например, использовать в строке запроса параметры и передавать ввод через них.
    Ответ написан
    Комментировать
  • После регистрации пользователь в базу таблицы users не попадает..В чем проблема?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Как правильно написал Антон, пора знакомиться с таким понятием, как отладка.
    Но дополним его ответ более практическими рекомендациями.

    Во-первых, при создании соединения с БД, надо сказать ПДО, чтобы он сообщал об ошибках.
    $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    Во-вторых, временно, на период разработки, включить отображение ошибок РНР. Чтобы тупо увидеть, если произошла какая-то ошибка.
    ini_set('display_errors', 1);

    И в-третьих, начать собственно отладку.
    Для начала убедившись, что РНР код в принципе запускается, и проблема в нем, а не в форме.
    Для этого в самом начале action.php пишем большими буквами
    die("пхп хотя бы запустился");
    И если после нажатия на кнопку мы этот текст не увидели, то начинаем тупить в свою форму - а с чего она вообще должна что-то посылать в файл action.php (и попутно задаваться вопросом - а какое отношение наш вопрос имеет к php и sql?)?
    Если форма отправляется аяксом, то смотрим ответ пхп в инструментах разработчика, вкладка Сеть.

    Если обработку формы мы начали, то заезжаем внутрь условия
    die("начали обработку формы");

    И так далее, отслеживаем работу своего кода, выполняется ли он вообще, и содержат ли переменные нужные значения.

    А в целом, конечно, код очень жестокий.
    Вот прямо хочется спросить -
    зачем здесь функция test_input?
    зачем здесь try {}catch (){echo 'Error : '.$e-getMessage();}?
    зачем class Auth extends Database?
    почему showMessage - это часть класса Database? Ну вот серьёзно, каким местом вывод сообщения в браузер в виде HTML хоть как-то относится к работе с базой данных?

    Чтобы сделать этот код минимально осмысленным, надо
    выкинуть класс Database
    в класс Auth добавить
    public function __construct($pdo){
                $this->conn = $pdo;
        }

    и выкинуть из него require_once 'config.php';

    В config.php оставить только соединение с PDO
    в action написать
    require 'config.php';
    $user = new Auth($pdo);

    и выкинуть условие при регистрации, оставив только
    $user->register($name,$email,$hpass);
    $_SESSION['user'] = $email;

    И тогда этот код станет минимально осмысленным
    Ответ написан
    Комментировать
  • Как исправить не правильное форматирование css который вставляет php?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    У вас в голове полная каша. Вы не можете понять где у вас сервер, где HTML, а где браузер.

    некоторые файлы он вставляет с форматированием , а другие нет.


    РНР не вставляет никакие файлы. Из РНР вы получаете ссылку. Её читает браузер. Который дальше и читает файл, и "вставляет" код, и форматирует его.
    При чем то, что браузер показывает в инструментах разработчика, может не иметь вообще ничего общего с тем, что на самом деле лежит в файле. Если хотите посмотреть реальное "форматирование", то надо смотреть сам файл, а не то что браузер рисует в инспекторе
    Ответ написан
    4 комментария
  • Когда нужен MVC, а когда API?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    API есть у любой программы. MVC это способ организации кода, наличия API он не исключает. Не стоит сравнивать тёплое с мягким.
    Ответ написан
    3 комментария
  • Что учесть в начале создания веб-портала и перейти с начальной версии на продвинутую без потерь? Как выбрать разработчика, структуру и платформу?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Давай начнем с вопроса - чем твой портал будет отличаться от тех сайтов на WP который ты делал раньше сразу после запуска? Через Х лет в максимальной комплектации?

    А теперь кратко по твоим вопросам

    1) Делай ссылки в виде ЧПУ и их можно будет безболезненно реализовать на любом фреймворке. Но именно на фреймворке, если на какой-то cms со своей структурой страниц, то там могут быть проблемы и прийдеться устраивать танцы с бубнами и реврайтами.

    2) Как не смешно, но для начала подойдет Wordpress если своими силами или самопис на Laravel если есть бюджет на фрилансера. Статьи и админка под них на нем делается очень быстро и бюджетно. Ну и потом можно добавить любой функционал. За основу даже можно взять мой движок (секунда рекламы) https://github.com/yepbro/cookbook делаю для своего проекта.

    3) Отзывы, адекватность в общение, неготовность работы без тз, ежедневные отчеты о статусе работ, каждый день обновляемый демо-сервер.
    Ответ написан
    Комментировать
  • Зависит ли скорость записи в БД от количества в ней записей?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1. Меняется/Зависит ли как-то скорость записи в таблицу БД от количества записей в таблице?


    При добавление записи в таблицу обновляются индексы (если они там есть), так что чем больше таблица тем медленнее будет запись (если в таблицы есть индексы кроме primery key). Это можно заметить если начать добавлять большое кол-во строк (построчно) в таблицу с индексами. Сперва добавление будет идти быстро, потом все медленнее и медленнее. Один из способов борьбы с этим - пакетное добавление.
    Ответ написан
    Комментировать
  • Изменять пропорции аватара на стороне фронта или несколько размеров на стороне бэка?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Для такого маленького изображения я бы передавал только самый большой вариант.

    Экономия с точки зрения пользователя тут будет лишь в том случае, если везде используется 40*40, и, например, только в редакторе профиля показывается 100*100. Тогда люди в 99% случаев не будут качать лишние пиксели. Но их объём настолько мал, что заморачиваться нет смысла.
    Если же разные размеры используются повсеместно, то, делая три отдельных изображения, вы увеличите объём трафика на 21%, т.е. сделаете хуже и себе, и пользователю.
    Ответ написан
    2 комментария
  • Как записать массив PHP в базу данных MySQL?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Если массив не очень большой - сделайте всё одним запросом:
    <?php
    $data = [
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3]
    ];
    
    $query="INSERT INTO t (a, b, c) VALUES " . implode(
        ', ', 
        array_fill(
            0,
            count($data), 
            '(' . implode (', ', array_fill(0, count($data[0]), '?')) . ')'
        )
    );
    
    echo $query;
    
    $values = array_reduce(
        $data,
        function($ac, $el) {
            return array_merge($ac, array_values($el));
        },
        []
    );
    
    var_export($values);
    
    $q=$pdo->prepare($query);
    $q->execute($values);


    Здесь вы можете протестировать код
    Ответ написан
    1 комментарий
  • Как присвоить одному сайту разный IP?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    объединить сети.
    Ответ написан
    Комментировать
  • Как присвоить одному сайту разный IP?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    При такой постановке вопроса, очевидно, воткнуть в сервак ещё одну сетевуху, а в неё шнурок второй сети.
    Ответ написан
    Комментировать
  • Есть ли фриланс на С++ с нуля?

    vabka
    @vabka
    Токсичный шарпист
    На фрилансе с любого уровня можно работать, лишь бы ты закрывал потребности заказчиков за приемлимую цену и время.

    Умение анализировать рынок и управлять на фрилансе часто важнее, чем умение кодить.
    Были бы навыки - можно вообще без умения кодить
    Ответ написан