Отправляю информацию на почту через сервер.
Скрипт выглядит примерно так:
if (isset($_POST['ok'])){
//input type="checkbox"
$chek_1=$_POST['chek_1'];
$chek_2=$_POST['chek_2'];
$chek_2=$_POST['chek_3'];
//input type="text"
$val_1=$_POST['val_1'];
$val_2=$_POST['val_2'];
$val_3=$_POST['val_3'];
$messages=
$chek_1; $val_1;"\n"
$chek_2; $val_2;"\n"
$chek_3; $val_3;"\n"
Значение chek_1 - это
A val_1 - это у него по умолчанию стоит какое-то значение.
Логически эти input между собой связаны.
Теперь сам вопрос: Если значение первого (chek_1) input = off (т.е. не отмечен) как не передавать (val_1)?
Судя по вашему вопросу и комментариев $_POST['chek_n'] принимает либо off,если checkbox не установлен,либо то что вам нужно.
Ваш исправленный вариант :
if (isset($_POST['ok'])){
//input type="checkbox"
$chek_1 = ($_POST['chek_1'] == 'off') ? false : $_POST['chek_1'];
$chek_2 = ($_POST['chek_2'] == 'off') ? false : $_POST['chek_2'];
$chek_3 = ($_POST['chek_3'] == 'off') ? false : $_POST['chek_3'];
//input type="text"
$val_1 = $_POST['val_1'];
$val_2 = $_POST['val_2'];
$val_2 = $_POST['val_3'];
$messages = ($chek_1) ? $chek_1.' = '.$val_1."\n" : '';
$messages .= ($chek_2) ? $chek_2.' = '.$val_2."\n" : '';
$messages .= ($chek_3) ? $chek_3.' = '.$val_3."\n" : '';
Альтернативный вариант записи кода из соседнего ответа.
if(isset($_POST['ok'])){
$msgs = [];
foreach([1,2,3] as $i){
if($_POST["chek_$i"] == 'off') continue;
$msgs[] = $_POST["chek_$i"].'='.$_POST["val_$i"];
}
$messages = implode("\n", $msgs);
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости