• Какой стек технологий выбрать для разработки веб-приложения по учету успеваемости студентов?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    • регистрация/авторизация пользователей;
    • добавление/удаление записей;
    • формирование отчета в формате docx.
    практически все что перечислено в качестве инструментов - хватает или избыточно.

    1) Нужна ли асинхронность, исходя из функций приложения?
    Нет, тем более для подхода через REST API.

    2) Что лучше выбрать из перечисленного стека, если необходимо представить приложение в короткие сроки?
    Как самый простой вариант смотрится лара + 4 готовых модуля, 2 из которых вроде даже идут из коробки, остальные добиваются 1 командой композер инсталл %пакетнейм%.

    3) Исходя из функций приложения, это будет SPA (одностраничное приложение) или PWA (многостраничное приложение)?
    Это не противопоставление, это вообще не взаимосопоставимые технологии. PWA может быть SPA, может не быть... PWA это вообще не про "многостраничность".

    Остальное не скажу, так как не в теме.
    Ответ написан
  • CPU загружается на 100% из за запросов mysql. Как отразить ddos?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) fail2ban
    2) Временно повесить заглушку "на сайте идут технические работы, все пучком"
    3) Ждите, через некоторое время ботнет целиком поместиться в банлист и нагрузка упадет

    Про адекватные решения по типу подключить Cloudflare вы скорее всего и сами знаете.
    Ответ написан
    2 комментария
  • Где искать верстальщиков и бекендеров?

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

    Короче, на фрилансе и прочих вольных пастбищах чаще всего пасутся 2 типа: Индусы по доллару за пучёк, и профи (скорее всего тоже индусы, но постигшие мудрость Шивы), работающие за ценник сильно выше часовой оплаты на ставке.
    Ответ написан
    Комментировать
  • Как заменить переменные внутри класса через перезапись файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В виду того что видимо на почве работы с битриксом у ТС появились серьезные проблемы со здравым смыслом - минутка готовых решений:
    <?php
    class config {
    	public $start_time = '1670000999';
    	public $email = 'support@domain.zone'; 
    	public $adm_dir = 'FolderAdm'; 
    	public $adm_name = 'Admin'; 
    	public $adm_pass = '00000000'; 
      }
    $configFile = './core/cfg_test.php'; //доступность файла оставим на совести автора вопроса
    $cfg = new config();?>
    <form method="post">
    <?php 
    foreach ($cfg as $key=>$value) {?>
    	<input name="<?=$key?>" value="<?=$value?>">
    <?php }?>
    <button type="submit">do marasm</button>
    </form>
    <?php
    if($_SERVER['REQUEST_METHOD']=="POST"){
    	$new_cfg = (Object)$_POST;
            file_put_contents($configFile, var_export($new_cfg,1));
    }
    ?>
    Ответ написан
    Комментировать
  • Как не показывать пустые массивы?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) сделайте нормальные имена полям, что за rid, rname, ryavka, тут с большой буквы, там с маленькой... кроме того что половина полей транслитерацией кривой, так еще и префикс зачем то присобачили... С переменными та же фигня.
    2) База должна соответствовать 3 нормальной форме, соответственно 2 значения в поле вашей рявки быть не должно, это должны быть 2 отдельных поля (или вообще внешняя таблица, если там много значений предполагается).
    3) Соответственно в запросе нужно будет дать дополнительное условие по наличию второго поля, тогда ответ будет такой как надо.
    4) В вашем случае предполагаю что ответ вообще не приходит, или приходит пустой, так как при запросе из пустого результата в первой же итерации цикла все упадет как раз с описанной ошибкой.
    Ответ написан
    5 комментариев
  • Почему не записываются данные в MySQL базу данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - код, согласно правилам ресурса, должен быть представлен блоком кода, а не шакальным видео.
    Во вторых - перед всем вашим кодом добавляете
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    что позволяет вам (пострчно):
    1) отображать ошибки и предупреждения
    2) отлавливать ошибки и предупреждения
    3) выдавать ошибки запроса в бд через ошибки пхп

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Важно, что бы это была статистика за день/месяц/год/всё время.
    Первое что нужно - определитесь с минимальной статистической единицей, если это день - значит храните сумму за день, табличка соответственно будет что-то типа:
    id, page_id, date, views;
    Соответственно если нужен меньший таймфрейм - дата будет уже дататайм. Далее простой джоин, груп с аггрегацией и sum()
    Ответ написан
    9 комментариев
  • Как узнать width и height видеофайла при загрузке на сервер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ffmpeg
    Ответ написан
    Комментировать
  • Как вернуть NULL если ничего не найдено в SQL?

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

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

    В зависимости от возможностей хостинга, файлы хранят либо локально(в случае например собственного выделенного сервера и наличия райд стойки), либо, как уже написали, в облачных хранилищах, что чаще всего достаточно выгодно в плане денег за объем/трафик, плюс расширение хранилища будет просто отражаться на счете за услуги, а не ложиться ответственностью на вас как владельца сгоревших винтов с данными клиента. АПИ у всех весьма несложные, а драйвера для работы с удаленными файлохранилищами есть практически для всех популярных движков в виде готовых пакетов.
    Ответ написан
    3 комментария
  • Как исправить пустые строки в БД при добавление кириллицы?

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

    Во вторых - научитесь отладке. Если вы не знаете в чем вообще проблема, стоит посмотреть что и на каком этапе пошло не так, для этого в самом примитивном виде нужно использовать var_dump/print_r, ну или инструменты по типу xdebug.

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

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

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

    Вероятно у вас неверно изложена задача, скорее всего пользователь должен иметь возможность взаимодействовать с сайтом, а не перегружать страницу.
    Ответ написан
    Комментировать
  • Где и как хранить файлы пользователей?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Это вообще не вопрос. Реальная проблема в том, как проверить, сколько физического места занимает папка пользователей "users"?
    Во первых если это реальная проблема - почему вопрос совершенно о другом?

    Во вторых - у вас в примере виндовый диск, что как бы странно для хостинга. В случае линуха все решается либо командой du -sm /your/directory/* либо установкой ncdu, который сильно быстрее, и соответственно что-то типа ncdu /your/directory/.
    Ответ написан
    7 комментариев
  • Как проверить нагрузку индексов на сайт?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Первое что нужно сделать - смотреть слоулог, или хотя бы завести его, если еще нету. Можно поставить мониторинг и анализ запросов в какой-нибудь Percona или что-то типа, посмотреть что вообще происходит. Потом уже можно говорить что что-то лишнее или не хватает.
    Ответ написан
    2 комментария
  • Какая формула xpath будет переходить с главной страницы по условию(названию анкора) и находить заданные данные?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Но как файлы загружаются в Яндекс диск и все аналогичные облака?
    Этот вопрос вообще должен решаться программистом в 2 клика - открыл инструмент разработчика, кликнул нетворк - смотришь пэйлоад и источник вызова.
    Ответ написан
    Комментировать
  • Как в базу записывать конфиг настроек settings сайта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Не сочтите за грубость, но вас из крайности в крайность бросает. То вы не хотели связываться с бд так как это "слишком сложно" и хранили все в файлах, измываясь и над собой и над ребятами которые все это пытались как-то образумить... Сейчас есть большой шаг вперед - вы подружились с бд, но теперь, как в той поговорке - если в руках молоток - все кажется гвоздем... Конфиги из нескольких переменных проще хранить в файле настроек, например в формате JSON. Если уж очень хочется забить шуруп молотком - заведите табличку сеттингс, храните в ней пары ключ-значение, или вообще одну строку с тем же JSON.
    Ответ написан
    2 комментария
  • Есть ли готовое решение для создания пользовательской панели на базе MySQL для управления заданиями клиентов?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Звучит как ларавель + рбак + что-то типа вояджера. По описанию в 10 строчек звучит как распространенная задача, на деле ВСЕГДА всплывает миллион нюансов и "мы думали это само собой разумеется", по этому 99,9% что подходящего готового решения "искаропки" под ваши хотелки нет.
    Ответ написан
    Комментировать
  • Как добавить кнопку загрузки файла в форме TinyMCE?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    емнип нужен файловый плагин, так то из коробки он не умеет загружать файлы.
    Ответ написан