Задать вопрос
zorro76
@zorro76

Обработчик формы не корректно передает данные из формы. В чем ошибка?

Есть форма с чекбоксами (пример одного):
<input type="checkbox" id="select1" name="inspection" value="ok">
                                    <label for="select1">осмотр коренных вкладышей</label>

есть ajax php обработчик со следующим кодом:
$recepient = ".................@gmail.com";
$sitename = "........................t";

$name = trim($_POST["name"]);
$phone = trim($_POST["phone"]);
$email = trim($_POST["email"]);


if ( isset($_POST["inspection"]) ) {
    $action = 'Проводить осмотр';
} else {
    $action = 'Не проводить осмотр';
}


$pagetitle = "Новая заявка с сайта \"$sitename\"";
$message = "Имя: $name \nТелефон: $phone \nЕ-майл: $email \nПотребность в ремонте: $action";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");

проблема заключается в следующем: на почту приходит сообщение с одним и тем же параметром (отмечен чекбокс или не отмечен). Нужно соответственно при отмеченом чекбоксе - сообщение: "Проводить осмотр;" А при не отмеченном чекбоксе сообщение : "Не проводить осмотр" чтобы приходили на почту.
В pHp не силен, кто может помочь решить проблему - буду благодарен.
  • Вопрос задан
  • 415 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 4
@antonowano
Профессиональный самоучка
В инпуте не хватает атрибутов name и value
измените
<input type="checkbox" id="select1">
на
<input type="checkbox" id="select1" name="inspection" value="ok">

а потом в php коде так:
if ( isset($_POST["inspection"]) ) {
    echo 'Проводить осмотр';
} else {
    echo 'Не проводить осмотр';
}
Ответ написан
@IceJOKER
Web/Android developer
if(isset($_POST['some_field']))
  echo 'Do something =)';
else 
  echo "Don't do it!";
Ответ написан
evgeniy2194
@evgeniy2194
PHP, js developer
Как вы отправляете форму?

$_POST["select1"] - приходит от елемента с name = select1
Ответ написан
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
Как правило для удобства работы используется такая связка для чекбокса:

<input type="hidden" name="checkbox1" value="0">
<input type="checkbox" name="checkbox1" value="1">


- Если чекбокс выбран получаете значение 1
- Если чекбокс не выбран получаете значение 0

Выбранный чекбокс затрет значение скрытого поля при сабмите формы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽