Задать вопрос
  • Как прикрепить файл к форме Ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - метод формы должен быть POST
    Во вторых - в любом материале из поиска гугула описано подробно как и что делать, в частности указаны ОБЯЗАТЕЛЬНЫЕ атрибуты для отправки файлов:processData: false, contentType: false,, однако сравнить 3 строчки вы поленились.
    В третьих - в обработчике соответственно все параметры передаваемые на сервер будут $_POST, а файл будет лежать в отдельном глобальном массиве $_FILES.
    Если вы совсем не разбираетесь - обратитесь на фриланс, в противном случае данной информации должно быть достаточно для решения вашей задачи.
    Ответ написан
    Комментировать
  • Как правильно вывести историю диалога двух пользователей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как из этой таблицы выбрать историю диалога когда известен id отправителя, например 1

    Историю диалога(одного) можно выбрать имея 2 идентификатора - пользователя_1 и пользователя_2.
    Историю переписок(всех конкретного пользователя) можно получить используя только 1 id - данного пользователя.
    Историю переписок(всех конкретного пользователя, где этот пользователь именно отправитель) можно получить используя только 1 id - данного пользователя.
    Вам что из этого надо?
    Ответ написан
  • Почему выполняется php код только на главной странице?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ну, иногда нужно быть детективом )
    1) скопируйте файл который выполняется в папку, проверьте если он открывается оттуда(соответственно дело может быть в файле, кодировка или еще что-то)
    2) Переименуйте .htaccess в .htaccess_ (проверьте что проблема не в .htaccess), так же и в папках, если есть.
    3) Положите в папку файл index.php и попробуйте указать просто путь до папки в урл, возможно что где то в настройках стоит ноиндекс(емнип бывает и так)
    4) Есть подозрение что вы открываете файлы "из других папок" не через урл, а через путь типа c:\server\localhost\myfolder\some.php , тогда конечно же интерпретироваться ваши файлы не будут, тупо откроются как хтмл.
    Ответ написан
    Комментировать
  • Как остановить отправку формы?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) убрать goPrice() вообще, и из кода и из онклика
    2) Повесить событие на субмит формы(вообще в идеале форма должна иметь id или другой селектор для удобного выделения)
    3) В обработчике события первым действием выполняем preventDefault();
    4) Проверяем что там должно/недолжно совпадать
    5) Субмитим форму / выдаем алерт или что там в случае ошибки...
    Ответ написан
    Комментировать
  • Как отнять дни от даты php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    date('Y-m-d', strtotime($thisDate. " - 5 day"));
    Ответ написан
    Комментировать
  • Фатальная ошибка php, почему?

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

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    До того как поддержка XMLHTTPRequest появилась во всех браузерах использовали скрытый ифрейм, в котором и выполнялись все запросы. Дешево и сердито ) Ну и куча асспейн в нагрузку )
    Ответ написан
    Комментировать
  • Как выполнить LEFT JOIN с условием?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Если бы нужно было определить прочел ли пользователь сообщение, был бы смысл делать выборку именно как у вас, но указав в полях возврата mr.`user_id`, который был бы либо айди, либо нулл. Если же у вас МНОГО людей в чате - тогда правильнее будет сделать так:
    SELECT m.`id`, m.`message`, mr.`message_id` status
    FROM `messages` m
    LEFT JOIN (
          select `message_id` 
          from `messages_read`
          where `user_id` = 111
    ) mr 
    ON mr.`message_id` = m.`id` 
    WHERE m.`chat_id` = 12
    Ответ написан
    Комментировать
  • Что происходит когда нажимаешь на кнопку input type=submit?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Как я понимаю: создается POST AJAX-запрос к указанному адресу.
    Нет, происходит субмит формы, никакого аякс запроса по умолчанию не создается, обычный запрос, пост или гет зависит от метода указанного в форме.

    Но после получения ответа от сервера (в моем случае status=200) браузер переходит на адрес запроса в показывает ответ запроса в html.
    Так и должно быть, браузер отсылает форму и переходит по урл отсылки чтобы получить ответ.

    Как это обработать, как сделать так, чтобы браузер никуда не переходил и не показывал пользователю ответ?
    Гуглите "отправка формы ajax" - миллион статей.
    Ответ написан
    Комментировать
  • Как вывести дату из базы данных mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    strtotime()
    date(), в частности параметр "М"
    Ответ написан
    Комментировать
  • Как передать переменную содержащую Html и выполнить SQL запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) кошмарный код, как в плане логики так и в плане оформления, все переменные и ключи то в верхнем регистре, то в нижнем, то в заглавном кемелкейсе, короче как угодно, но только не в стандарте PSR ).
    2) Если вы используете строки, то во первых хорошей практикой является использовать одинарные кавычки, если внутри строковой переменной вы не используете функции или переменные, а во вторых если в строке кавычки того же типа что и кавычки начала/конца строковой переменной - внутренние кавычки экранируются обраным слэшем. В вашем случае достаточно просто "наружные" кавычки заменить на одинарные.
    3) Вставка переменных в запрос - по рукам лопатой на! Есть механизм подготовленных запросов, специально для того чтобы упростить такие моменты как экранирование.
    Ответ написан
    Комментировать
  • Что прописать нужно чтобы файл html автоматически чистилcя в кэше браузера и показывал последние изменения?

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

    Неправильный ответ - прописать заголовки кеширования на короткое время, магия, чистка кэша и вот это все

    Правильный ответ - не использовать файлы с одинаковыми именами для динамически меняющегося контента.
    Поясню: файлы js, css, изображения и прочие элементы дизайна и функционала должны кешироваться, они не являются динамической информацией и не должны часто меняться. Отключать кеширование для них - глупо и чаще всего бесполезно(вы же не храните прайс в js файле надеюсь?). Информация же динамическая (в вашем случае прайс) либо в виде текста лежит(что вообще не кешируется по умолчанию), либо лежит у вас в виде файла типа price.xls. И вот во втором случае уже будут проблемы. И тут есть 2 нормальных решения: первое - делать уникальные имена для прайсов(например добавлять дату изменения, что логично и удобно как вам так и клиенту), либо после ссылки на файл добавлять уникальный гет параметр, в итоге ссылка файла будет выглядеть как price.xls?date=220519. Тоже приемлемый вариант, но уникальное имя лучше/удобнее.
    Ответ написан
  • Как сделать выбор значений из списка, через foreach?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    чет не очень понятно что вообще вы делаете
    Сначала вы создаете форму, в ней селектор и потом (внезапно) ссылку с гет параметрами...
    Вероятно там просто вместо ссылки должна быть кнопка типа submit, тогда все будет логично.
    Ответ написан
  • Способы подработки для Десктоп разработчика?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Не знаю веб или мобильных фреймворков.
    Разве сегодня это проблема? Месяц повтыкать в туториалы без фанатизма даст вам возможность клепать те же мобильные приложения на допустим юнити без напряга. Сидя на чистом десктопе имхо надо либо идти в жесткий корпоратив или выпустить свой продукт без аналогов(или сильно лучше конкурентов) и жить на донат/продажи/поддержку. Или искать более рыбные места, типа мобильной разработки или в веб. Там заказы помельче, но их реально МНОГО, прожить можно.
    Ответ написан
    Комментировать
  • Почему Laravel 5.8 делает повторные запросы к БД при работе с сессией?

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

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

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Создать правильные заголовки:
    header('Expires: Mon, 30 Jul 1997 05:00:00 GMT');
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Cache-Control: post-check=0, pre-check=0', FALSE);
    header('Pragma: no-cache');
    header('Content-transfer-encoding: binary');
    header('Content-Disposition: attachment; filename='.$name.'.cdr');
    header('Content-Type: application/cdr');
    readfile($pathToFileDir.$name.'.cdr');
    Ответ написан
    5 комментариев
  • Как отправить файл на почту не загружая его на сервер?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    <img src="/im/image/fom/file.png">
    <link rel="stylesheet" href="/im/css/fom/main.css">


    Влияет ли его длина на скорость загрузки?

    Конечно влияет, в зависимости от кодировки каждый символ в описании пути до файла занимает от 8 до 32 бит. И все это надо загрузить.
    Ответ написан
    Комментировать