Ответы пользователя по тегу PHP
  • Как правильно написать регулярку?

    @yourbatya
    Разрабатываю разработки
    /^\/test\/.+\/$/
    Ответ написан
    Комментировать
  • Нужен инструмент для вывода графиков из таблиц на сайте?

    @yourbatya
    Разрабатываю разработки
    Ответ написан
    Комментировать
  • Как подключить на сайт возможность оплаты с баланса мобильного телефона?

    @yourbatya
    Разрабатываю разработки
    https://donate.stream/ya-streamer
    Судя по всему вам подойдёт это.
    Или же яндекс.деньги, у них api позволяет получать то, что вам нужно.
    https://yandex.ru/dev/money/doc/payment-buttons/ab...
    Ответ написан
    Комментировать
  • Как отправить HTML-форму без нажатия на клавишу подтверждения?

    @yourbatya
    Разрабатываю разработки
    Как указали выше, форма должна сабмититься по событию onsubmit, но если вы всё же пытаетесь сделать то, что вы там придумали, то попробуйте отправлять форму по событию onkeyup в последнем поле формы. Хотя это и очень странное решение.
    Ответ написан
    Комментировать
  • Отправка формы на почту?

    @yourbatya
    Разрабатываю разработки
    $('form[id="order_form"]').on('submit', function() {
        let $row = $(this).closest('form');
        let data = $row.find('input, select, textarea').serialize();
        $.ajax({
            type: "POST",
            url: "order_form.php",
            data: data
        }).done(function() {
            alert("Успешно!");
        });
        return false;
    });

    Попробуйте так.
    Но вам нужно вашу кнопку, которая сабмитит форму, занести внутрь тега , иначе никогда у вас ничего работать не будет.
    Кроме того, посмотрите в dev tools (F12) - вкладка Network, какие данные и в каком виде у вас отправляются после изменений.
    Затем сам php... Вы его брали откуда-то уже готовый или сами так написали?
    Для начала объявляете переменные каждому передаваемому параметру.
    if (isset($_POST['formData'])){
    $name = strip_tags(trim($_POST['user_name']));
    $phone = preg_replace("/[^+0-9]/s", "", strip_tags(trim($_POST['user_phone'])));
    ...
    }

    Кроме того, в таком виде, как у вас, на почту будет приходить просто текст "Отправитель: $user_name".
    Чтобы внести значение переменной нужно делать так:
    $message.= 'Отправитель: ' . $user_name . '<br>
    Телефон: ' . $user_phone . '<br>
    Почта: ' . $user_email . '<br>
    Сообщение: ' . $user_message . '<br>
    Тип дома: ' . $type_hause . '<br>"
    Опции: ' . $options . '<br>';

    Попробуйте так и напишите, что у вас в дев тулс отображается. Но по хорошему бы то, что у вас в php, надо бы переписать с нуля, ибо я сомневаюсь, что там что-то заработает, если вы в этом не разбираетесь.
    Посмотрите более простой пример
    Ещё косяк нашёл. Когда добавите кнопку внутрь тега форм, пропишите кнопке type="submit", иначе она не будет по нажатию сабмит формы делать.
    Ответ написан
    Комментировать
  • Как преобразовать строку php?

    @yourbatya
    Разрабатываю разработки
    Короче, Максим, я тебя спас и в благородство играть не буду: выполнишь для меня пару функций - и мы в расчёте. Заодно посмотрим, как быстро у тебя башка после изучения php прояснится. А по твоей теме я уже разузнал. Хрен его знает, на кой ляд тебе так данные хранить сдалось, но я в чужие дела не лезу. Хочешь так хранить - значит есть за что...
    В предыдущем вопросе ты говорил, что получаешь json от яндекс.телефонии, судя по всему ты ещё с ней мучаешься. Яндекс передаёт данные в формате "+79876543210", а в ответе господину Владимир @ ты упомянул, что получаешь телефоны с формы на сайте, и видимо с помощью плейсхолдера в виде "+7 (987) 654-32-10".
    А теперь ты пытаешься зачем-то сравнивать данные яндекса и с твоего сайта.
    Короче, если всё так, то сделай в файле, который у тебя пишет данные в бд из формы на сайте, следующее:
    $phone = preg_replace("/[^+0-9]/s", "", strip_tags(trim($_POST['phone'])));
    Где $phone - это, соответственно, переменная, которая принимает в себя данные из поля "телефон" в форме.
    Так ты получишь в твоей бд телефоны вида +79876543210. И затем уже сравнивай их сколько влезет,
    Это самый простой вариант :)
    Если тебе нужно пройтись по базе и видоизменить все телефоны, то сделай отдельный вопрос.
    Ответ написан
  • Как подключить ajax к форме с данными в цикле?

    @yourbatya Автор вопроса
    Разрабатываю разработки
    Рабочий код. Сделал через метод closest
    $('button[name="save"]').on('click', function() {
        let $row = $(this).closest('tr');
        let data = $row.find('input').serialize();
        $.ajax({
            type: "POST",
            url: "tost.php",
            data: data
        }).done(function() {
            alert("Данные сохранены");
        });
        return false;
    });
    Ответ написан
    Комментировать