Я новичок в PHP. Это мой код из нашего mailing.php. Когда пользователь отправляет запрос, есть 5-7 полей для выбора и 20-25 полей, которые в итоге не выбираются. Вывод перечисляет все поля и значения независимо от того, являются ли они пустыми или были выбраны. Я понимаю, что мне нужно использовать либо unset
или же array_filter
, но не могу понять, как и где мне нужно вставить в код.
if($_POST && count($_POST)) {
$body = '';
foreach($_POST as $key=>$value)
$body .= $key . ": " . $value . "\r\n";
mail("[email protected]", "Email Received at [email protected]", $body);
Вы можете попробовать это
if($_POST && count($_POST)) {
$_POST = array_filter($_POST);
$body = '';
foreach($_POST as $key=>$value)
$body .= $key . ": " . $value . "\r\n";
mail("[email protected]", "Email Received at [email protected]", $body);
ИЛИ ЖЕ
if($_POST && count($_POST)) {
$body = '';
foreach($_POST as $key=>$value){
$trim_value = trim($value);
if (!empty($trim_value)){
$body .= $key . ": " . $value . "\r\n";
}
}
mail("[email protected]", "Email Received at [email protected]", $body);
Перед циклом foreach вы должны использовать это
$_POST = array_filter($_POST);
Другим вариантом является использование условного внутри цикла foreach
foreach($_POST as $key=>$value)
if ($value != '' && $value != null)
$body .= $key . ": " . $value . "\r\n";