Задать вопрос
  • Сравнение input с БД и занесение в другую таблицу?

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

    UPD: eliz_min, ну, вы конечно дополнили, но логику так и не проследил, ну да ладно... по шагам что-ли...

    1) код должен быть понятным и простым, так же желательно a) использовать реальные и логичные английские термины и слова (которые не знаешь - гуглишь), b) все данные готовить заранее, c) для поиска в базе неточных словоформ искать через like, d) в идеале использовать подготовленные выражения (я здесь оставил как есть, почитайте и примените самостоятельно), e) поля в бд обычно называются в нижнем регистре, разделители слов - андерскор (с разделителем все ок, поля надо нормально назвать), f) имена полей и таблиц желательно обернуть `` - обратными кавычками
    $name = mysqli_real_escape_string($link,$_POST['name']);
    $sql = "SELECT `product_id`, `calorie` 
    FROM `product` 
    WHERE `name_of_product` like'%{$name}%' 
    LIMIT 1";
     $query = mysqli_query($link, $sql);
    $data = mysqli_fetch_assoc($query);
    ок, тут мы (возможно) получили ид и количество калорий от еды с названием которое пришло постом...

    2) далее интереснее...
    пользователь вводит название продукта, который он употребил и ему выводиться сумма калорий за сутки.
    Как человек поверхностно знакомый с диетическим питанием, подозреваю что "я съел сыр" и "я сожрал 2 кило сыра" не всегда одно и то же. понимаете к чему я клоню?
    На данном этапе создана база данных с продуктами и таблицей употребленных, в которой находится id юзера,id продукта и время.
    Чего-то не хватает, вам не кажется? Ладно, едем дальше...

    3) и тут же на первой строчке у нас все становится очень интересным, я бы даже сказал что тут Шляпник особо глубоко затянулся... :
    if($data['Name_Of_Product'] === md5(md5($_POST['name']))) {...
    итак, учитывая что никакой Name_Of_Product мы в запросе не просили выбрать, естественно что тут уже будет лажа, однако далее еще интереснее: md5(md5($_POST['name'])), загадочные шаманские вуду пляски, видимо чтобы этот кусок кода внутри условия ТОЧНО никогда не выполнился. Вообще хотелось бы услышать, каким образом этот код пришел вам в голову и что он по вашему должен делать? Так, чисто понять как работает причудливый разум...

    4)
    mysqli_query($link, "INSERT INTO comsume (Id_p)VALUES ($data['Product_id'])");
    ...в которой находится id юзера,id продукта и время.
    но вносите вы почему то только ид продукта, кроме того, как я уже говорил - "чего то не хватает" )
    Ответ написан
  • Как передать в функцию координаты поиска в ассоциативном массиве?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Есть конечно, и это... (сюрприз!) массивы!
    function fun(arr,['name_1' , 'name_2']){
     ...//итерируем массив, получая цепочку доступа
    }
    Ответ написан
  • Как изменить переменную при переходе по ссылке?

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

    $_GET, $_SESSION, $_COOKIE в зависимости от ситуации
    Ответ написан
  • Как загрузить картинку не заливая на сервер?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    В гугл, все в гугл
    Ответ написан
    3 комментария
  • Как сделать такую функцию с массивами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    форич (аррэй аз кей=> валуе){
       ...
    }
    Ответ написан
    Комментировать
  • Html + php include, насколько оправдано?

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

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

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    curl -sIXGET
    Ответ написан
    Комментировать
  • Как задать и менять позицию элементов в таблице?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    два апдейта:

    апдейт `блабла` 
    сет `сорт` = позиция 
    где `ид` = ид_итема
    
    апдейт `блабла` 
    сет `сорт` = `сорт`+1 
    где `сорт` > позиция 
    и `ид_группы` = ид_группы
    Ответ написан
    2 комментария
  • Как реализовать хранение и вывод статистики пользователя?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ну то есть не правильно же будет при каждом открытии данной страницы на сервере\клиенте всё считать?
    Почему, очень даже правильно, для этого и придуманы быстрые хранилища и SQL/noSLQ бд.

    но что если у пользователя 10 000, 100 000, 1 000 000 транзакций? Как такие задачи решаются?
    Во первых, юзер все равно не получает все мульен транзакций в статистике за раз, получает постранично, а это вполне нормальные запросы по 50-100 записей за раз, что вполне себе быстро. Ну и всякие редко обновляющиеся и часто запрашиваемые данные хранят в кэше, дабы не дергать бд попусту.

    идти в аналитику и смотреть что изменилось, а не измениться ничего, так как сервак не успеет посчитать всё.
    Это просто не знаю какой мертвый сервак должен быть, чтобы не успеть "посчитать" за время необходимое для прохода 1-2 экранов приложения.
    Ответ написан
  • В теге form атрибут action не указывает на конкретный файл php, почему?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Гуглить:
    Единая точка входа
    mod_rewrite или аналогичный механизм
    роутинг

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    parse_str(str_replace('/','&',$str), $output);
    var_dump($output);
    extract($output);
    Учитывайте, что вываливая переменные из неизвестного источника в текущий контекст вы рискуете нарваться на подмену текущих переменных на левые значения, или, при использовании флага EXTR_SKIP, на неявное поведение. В идеале используйте массив, полученный при парсинге.
    Ответ написан
    6 комментариев
  • Как сделать квест в браузерной игре?

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

    Но все остальные детали
    детали... а что, хорошее название для годового курса обучения, и слоганчик такой как раз - "Дьявол кроется в деталях!"

    я не знаю как прописываются и где.
    "Нужно сперва ввязаться в бой, а там видно будет." (с) Наполеон Бонапарт.
    Ответ написан
    Комментировать
  • Почему не срабатывает AJAX-запрос?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    data: {GetIPS_user: 'yes'},
    Вообще нигде не используется(?)
    function GetIPS_user() {...} - ок, вы ее создали, что дальше? Вы же ее нигде не используете. Или вы как-то странно понимаете суть аякс запросов вообще...

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

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Хочется услышать отрицательные стороны вебсокета

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

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