Ответы пользователя по тегу PHP
  • Не приходит ответ от рекапча v3?

    @rvitalia Автор вопроса
    Вдруг кому пригодится... момент оказался упущен, что домен с которого тестил не добавил в разрешенные в гугл капче...
    Ответ написан
    Комментировать
  • Как правильно в php принять массив из formData js?

    @rvitalia Автор вопроса
    Всем спасибо... Натолкнули на мысль, что я допускал одну очень простую ошибку..... Итак, по логике работы данного кода, помимо массива я передавал еще и почту, на которую нужно отправить данные. Соответсвенно, убирая event.target из formData я конечно терял введенное значение и массив то может и принимался, только куда его и что с ним делать....код не знал... по итогу, решение такое:
    Во первых решил остаться все-таки на formData, т.к. возможно в скором времени понадобиться пересылка файлов.
    Во вторых. просто собрал массив, а не массив объектов, как было до этого.
    как-то так
    //объявляем массив для сохранения значений
            const messagesValue = [];        
    
            //перебираем массив сообщений
            messages.forEach(element => {
                if (element.classList.contains('AB__chat__inner__center__bot')) {
                    messagesValue.push("Оператор: " + (element.children[0]).textContent);
                }
                else if (element.classList.contains('AB__chat__inner__center__people')) {
                    messagesValue.push('Вы: ' + (element.children[0]).textContent);
                }
            });

    в третьих. formdata формирую следующим образом:
    validation
            .onSuccess((event) => {
                let formData = new FormData();
    
                formData.append('key1', JSON.stringify(array));
                formData.append('key2', input);
    
                let xhr = new XMLHttpRequest();
    
                xhr.onreadystatechange = function () {
                    if (xhr.readyState === 4) {
                        if (xhr.status === 200) {
                            alert('');
                        }
                    }
                }
                xhr.open('POST', 'mail.php', true);
                xhr.send(formData);
    
                event.target.reset();
            });
    }


    ну и наконец, принимаю это дело так
    if (isset($_POST['key1'])) {
      $array = json_decode($_POST['key1']);
    ..............
    
    
     $inputValue = $_POST["key2"];


    По итогу все заработало. Невнимательность прежде всего.... всем спасибо, и будьте внимательны))
    Ответ написан
    Комментировать