Обнаружение многочастной формы сообщения - PullRequest
0 голосов
/ 08 июня 2019

У меня есть функция диагностики, которая включена в моей локальной системе разработки во время работы над программированием, и она показывает различные аспекты происходящего, такие как значения сеанса, сообщения формы, файлы cookie и т. Д., И она работает хорошо.Однако я натолкнулся на случай, когда выдает ошибку при публикации формы, состоящей из нескольких частей.Любой совет, как это исправить?С обычной формой, он показывает имя и значение каждого поля, чтобы я мог видеть, что отправляется, но как есть, он дает преобразование массива в строку ошибка в foreach,Я понимаю, почему он это делает, но я не уверен, что делать, чтобы решить эту проблему.

$ ShowPosts - это логическое значение, которое включает этот бит, а $ s предопределено в другом месте.Я хотел бы, чтобы это либо игнорировало любые составные сообщения, либо показывало их мне.

if (isset($_POST) && $ShowPosts) :
    $s .= "\n<p><h4>Form POST Values</h4>\n\n";
    foreach ($_POST as $key=>$value) :
        $s .= "<strong>$key</strong> = $value\n";
    endforeach;
    if (!isset($_POST)) :
        $s .= "A POST has not been submitted";
    endif;
endif;

1 Ответ

0 голосов
/ 08 июня 2019

Составные формы имеют заголовок Content-Type, установленный на multipart/form-data, поэтому его легко обнаружить.Но его содержимое будет таким же, как и в обычных формах, просто позволяет отправлять двоичные данные, такие как файлы.

Таким образом, ваш $_POST не должен отличаться в multipart/form-data или application/x-www-form-urlencoded.Я предлагаю вам сделать var_dump($_POST), чтобы увидеть различия.

...