Сорри за может быть глупые вопросы, только начинаю изучать PHP.
Есть форма, в ней пять чекбоксов вида:
<form action="#" method="post" class="form">
<input class="main__input" type="checkbox" name="budget_01[]" value="Красный" id="red">
<label for="red" class="main__label"><span>Красный</span></label>
<input class="main__input" type="checkbox" name="budget_01[]" value="Зеленый" id="green">
<label for="green" class="main__label"><span>Зеленый</span></label>
<input class="main__input" type="checkbox" name="budget_01[]" value="Желтый" id="yellow">
<label for="yellow" class="main__label"><span>Желтый</span></label>
<input class="main__input" type="checkbox" name="budget_01[]" value="Фиолетовый" id="purpure">
<label for="purpure" class="main__label"><span>Фиолетовый</span></label>
<input class="main__input" type="checkbox" name="budget_01[]" value="Синий" id="blue">
<label for="blue" class="main__label"><span>Синий</span></label>
<button type="submit" class="button"
</form>
Кроме чекбоксов на сайте есть текстовые инпуты и их много, поэтому для отсылки данных пользуюсь FormData:
const dataForm = new FormData(form);
const user = {};
dataForm.forEach((val, key) => {
user[key] = val;
});
Сформировал PHP-шаблон письма. С текстовыми инпутами все ОК, они нормально подставляются в переменные.
Для подстановки чекнутых чекбоксов создал для каждого свою переменную со значением "не определено". Хочу, чтоб если в массиве присутствует чекнутый чекбокс, его значение подставлялось заместо "не определено".
$budget01_01 = "не определено";
$budget01_02 = "не определено";
$budget01_03 = "не определено";
$budget01_04 = "не определено";
$budget01_05 = "не определено";
$budget_01_arr = $_POST['budget_01'];
if (!empty($_POST['budget_01'])) {
foreach($_POST['budget_01'] as $value) {
$budget_01_arr .= $value;
}
}
$body = "<h2>New contact</h2>
<tr style='background-color: #f8f8f8;'>
<td style='padding: 10px; border: #e9e9e9 1px solid;'><b>.$budget_01_arr.</b></td>
</tr>";
Два вопроса:
- Почему в письме ничего не приходит, связанное с чекбоквами (инпуты подставляются, потому что на них заранее установлены переменные)?
- Как вообще работать с ошибками в PHP, если сайт написан на HTML? Как-то вывести их в консоль нельзя? Как вообще с ними работают?
- Ну и, если не сложно, подскажите, как все-таки подставить значения в переменных? Мне же не нужно искать, какие чекбоксы помечены, придут только помеченные чекбоксы.
$_POST['budget_01']. поэтому что-то подставлять куда-то совершенно не требуется – Алексей Шиманский Feb 03 '24 at 12:31