• Как добавить запись к определенному пользователю Mysql через PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    для того чтобы что-то вводить в "данные пользователя", вы должны откуда-то знать что за пользователь вводит эти данные. Если у вас есть эта информация (ну например случайно оказалась записанной в сессию), берете id пользователя, и пишете запрос:
    Апдейт юзерс
    сет текст = "какой-то текст пришел из формы"
    вэа айди = юзерайди_полученный_допустим_из_сессии
    Ответ написан
  • Как вывести данные mysql для конкретного пользователя PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Читаем документацию:
    The enctype attribute can be used only if method="post".

    2) Файлы не передаются методом get
    3) Делаем выводы из 1 и 2.
    4) if(isset($_REQUEST['submit'])) - плохая проверка, начиная с того что я могу отправить форму не нажимая кнопку субмит, и заканчивая тем что такой проверкой вы не знаете какой запрос придет с клиента и что в нем будет (то есть вообще ничего кроме этой сомнительной переменной не проверяете).
    5) В данной структуре данных вы никак не можете привязать посты к пользователям. Либо нужно добавить поле, определяющее владельца поста, либо делать пивот таблицу, где записывать соответствия пар юзер-пост.
    6) Кроме того - у вас в коде отсутствует какое-либо понятие идентификации пользователей, то есть вы не знаете какой пользователь добавляет или запрашивает данные, что делает бесполезным само понятие принадлежности.
    Ответ написан
    Комментировать
  • Не могу сделать чтоб обновлять количество товара в корзине?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) id="btncontcall" у вас повторяется в каждом выведенном элементе. По стандарту (да и чисто по логике), id - уникальный идентификатор (где уникальный - ключевое слово). На странице должен быть только один элемент с таким значением. Что легко проверить, заглянув в консоль и увидев кучу предупреждений о дублирующихся идентификаторах.
    2) Не надо вешать обработчик на кнопку, вешайте на форм.субмит. Естественно айди формы тоже должно быть уникальным. Хотя в вашем случае айди вообще использовать не нужно, используйте либо класс, либо, что в данном случае гораздо логичнее, собственно тег form - $('form').on('submit', function(e){...});, в этом контексте this внутри функции будет сразу целевой формой, не надо выкрутасов с поиском текущей формы.

    Тем более что ищете вы всегда первую, даже в неправильном коде: var form = $('#callbacks')[0]; всегда вернет первый элемент из списка форм, даже если там все будет правильно выбираться по идентификаторам.
    Ответ написан
    Комментировать
  • Как на сайте сделать возможность просмотра файлов и папок?

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

    Файлы при нажатии на раздел хочу отображать в попап окне.

    Какого типа документы вы хотите размещать? С картинками и попапом еще ок, что будет с, например, вордовским доком/ехелем?

    По описанию сильно похоже на вики движок.
    Ответ написан
  • Какой стек технологий выбрать для разработки экосистемы проектов?

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

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

    Общая концепция выглядит приблизительно так:
    Будет много разных баз данных, в которых будет храниться информация разного типа, текстовая, . Каждая база будет содержать информацию по разным темам.
    Информация графическая, видео и аудио типов чаще всего не хранится в бд. Если вы не программист/архитектор IT структур - поручите вопросы архитектуры и структурирования данных кому-либо из команды, кто в этом разбирается (если таковые есть).

    Отдельно будет полнотекстовая поисковая система объединяющая информацию из всех источников.
    В принципе не особо зависит от стека, тут больше архитектурно-проектировочная задача.

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

    Посоветуйте пожалуйста какой стек технологий для разработки выбрать, с учётом некоторых условий:
    - Язык(и) программирования современные и содержащие подробную информационно-документальную базу и популярные сообщества поддержки.
    На сегодняшний день есть 4-5 хорошо распространенных языка, используемых в вебе: пхп, ява, жс, питон, в меньшей степени c#, руби, голанг, остальные больше экзотика, нежели мэйнстрим.
    - Высокая производительность и многопоточность.
    Которая в вебе не особо нужна, хотя практически все вышеперечисленные языки в той или иной мере многопоточность поддерживают. Опять же - сразу "видны уши" вашей недостаточной компетентности в вопросах разработки высоконагруженных проектов. Дело в том что в 99% случаев код именно языка программирования особо не нагружен. Больше всего процессорного времени будет съедаться запросами к бд и внешним сервисам. Код просто прослойка между фронтом и бд, чаще всего просто выполняющая задачи CRUD прослойки.

    - Простая масштабируемость.
    - Актуальность на ближайшие 2-3 года.
    Везде подходит

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

    Постарайтесь пожалуйста привести аргументы в пользу того или иного выбора, а так же возможные минусы.
    выбор надо делать не в пользу языка, а в пользу специалистов (ну и от них плясать уже по стеку). Как пример - проще всего поднять на пхп/ноде, специалистов много, они дешевле например явистов или шарпистов, поддержка проекта не сдохнет при уходе какого-нибудь ведущего спеца. С другой стороны, если речь идет о корпоративном заказе - скорее всего вам придется писать на яве/цшарп, емнип только у них есть соответствующие сертификаты по работе с шифрованием и прочей секюрити. Так же сильно зависит от того кто вообще есть в вашем регионе, кого можно быстро/возможно вообще найти на замену уходящим сотрудникам, и еще 1000 и один вопрос, который отпадает при выборе специалиста, а не стека (после этого голова болит уже у него, а не у вас, но в своей области, что гораздо лучше).

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    так как мне передать это имя пользователю
    Из всего диалога в комментариях должен быть вывод:
    1) урл файла для скачивания может быть любым, его трогать не надо.
    2) Чтобы файл скачался под нужным именем, в заголовки нужно добавить принудительное переименование на клиенте
    header('Content-Disposition: attachment; filename="' . $meta['name'] . '";', false);
    , где $meta['name'] - имя под которым должно сохраниться у пользователя.
    Ответ написан
  • Как построить запрос по выборке состоящей из дат?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    sql запрос по выборке состоящей из дат?
    Не из дат, а из строк, то что вы думаете о них как о датах, таковыми их не делает.

    в самой таблице бд они хранятся как VARCHAR(50)
    Тадааам! Вот и ответ на вопрос "а зачем все эти стопитьсот типов, когда есть варчар?" Это раз. Ну а в случае скулайта - хотя бы соблюдать формат ISO8601 и использовать соответствующие функции.
    Ну и второе - last_control_milking_date == "10.10.2022" с двумя "равно".

    Ну и по мелочи:
    - судя по переменным внутри запроса это из пхп, но переменная sql не имеет $ (возможно просто опечатка?).
    - зачем farm_name в квадратных скобках, есть общепринятый формат выделения полей через `` кавычки, что позволяет запросу быть "кроссплатформенным"?
    - ну и классика - почему не используются подготовленные запросы?
    Ответ написан
    3 комментария
  • Как сделать привязку данных таблицы к тому юзеру у которого открыта сессия на сайте(он авторизовался) привязка по типу id==userid?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если решение наколеночное, не фреймворк, то в сессию пишется что-то типа $_SESSION['user']['loggedIn'] = true; По вкусу можно держать там же айди юзера, и например никнейм, чтобы два раза не бегать... Или взять движок типа лары и использовать что есть из коробки...
    Ответ написан
    Комментировать
  • Почему рабочий php код не работает?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    При попытке сделать var_dump($result); я получаю NULL
    Заменить file_get_contents на curl, в курле включить verbose (гуглить curl verbose php). Скорее всего лажа с серитфикатами. Можно поставить настройку игнорить сертификат, но сервер может просто не принимать ваши запросы. В любом случае нет смысла гадать, надо смотреть отчет курл по соединению.
    Ответ написан
    Комментировать
  • Форма отправки методом POST?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    гуглить:
    Единая точка входа
    mod_rewrite
    MVC
    роутинг
    Ответ написан
    1 комментарий
  • Как передавать html по ссылке?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Если это SPA, то скорее всего протухает токен. Пинайте бэкендеров на тему "а чо так мало?" в плане лайфтайма токена.
    Ответ написан
    3 комментария
  • Как конвертировать уже существующие записи в другую кодировку?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Мне нужен рецепт
    Рецепт зависит от ингридиентов, универсального рецепта нет.

    Столбец name из кодировки utf8mb3_general_ci в utfmb4_general_ci
    Просто смените ему кодировку, данные "сконвертируются" автоматически, так как "битность" существующих данных не поменяется. На всякий случай можно сделать копию таблицы и поиграться с ней перед сменой основной таблицы, но вообще-то разницы быть не должно.
    Ответ написан
  • Объеденить 2 модели при выводе?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Мне нужно сделать вывод информации о карточке в модальном окне, для этого я решил использовать связку jquery and php, данные получаем из базы данных и выводим циклом в карточки, но если нажать на карточку, то открывается подробное описание.

    1) ничего не мешает при формировании страницы сразу добавить всю информацию в готовые шаблоны, а по нажатию делать их видимыми. Собственно чаще всего так и делают.
    2) Аякс - запросы без перезагрузки страницы, позволяющие получить данные с бэкенда "скрытым" запросом. Отправляете ваш айди аяксом на заранее подготовленный урл, который обратно отдает данные карточки.
    Ответ написан
    2 комментария
  • Лента последних купленных товаров?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    сокеты ? EventSource ? просто гет запросы через каждые 2 минуты ?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Можно ли сделать таким образом, чтобы указанные данные передавались в форму на сайте B сумбитили ее и возвращали обратно результат то есть редириктели на полученную ссылку, но надо сделать так, чтобы этот процесс проходил быстро и не перенаправлял пользователя на сайт B, а возвращал уже результат.
    Нет, если вы не можете модифицировать код сайта В. Единственное что можно сделать - субмитить форму на свой сайт А, на сервере принимать эти данные и с сервера А на сервер В отправлять запрос с этими данными (нарпример через CURL), получать ответ, обрабатывать и возвращать нужные данные на фронтенд.
    Ответ написан
    Комментировать