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 не силен, кто может помочь решить проблему - буду благодарен.
  • Вопрос задан
  • 411 просмотров
Решения вопроса 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

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

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

Похожие вопросы