HamSter007
@HamSter007
HTML/CSS верстальщик

Отправить несколько значений checkbox на почту?

К примеру в форме есть чекбоксы с несколькими вариантами и селект:

<form>
  <input type="checkbox" name="ch" id="ch-1" value="val-1">
  <input type="checkbox" name="ch" id="ch-2" value="val-2">
  <input type="checkbox" name="ch" id="ch-3" value="val-3">

  <select name="sel" >
    <option value="val-1" selected>val1</option>
    <option value="val-2">val2</option>
  </select>
</form>


В js обычная обработка формы (не суть):

$.ajax({
  url: 'contacts.php',
  type: 'post',
  data: str
}).done(function(msg) { .... }


И есть contacts.php:

<?php

    define("CONTACT_FORM", 'test@mail.ru'); 

    $subject = 'Заявка';

    $ch  = stripslashes($_POST['ch']);
    $sel  = stripslashes($_POST['sel']);


    $message = '
        <html>
                <head>
                    <title>Заявка</title>
                    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
                </head>
                <body>
                    <p>Значения чекбоксов    : '.$ch.'</p>
                    <p>Значение селекта    : '.$sel.'</p>
                </body>
        </html>';


    $mail = mail(CONTACT_FORM, $subject, $message,
        "MIME-Version: 1.0\r\n"
        ."From: ".$name." <".CONTACT_FORM.">\r\n"
        ."Reply-To: ".$email."\r\n"
        ."Content-type: text/html; charset=UTF-8\r\n");

    if($mail){
        echo "OK";
    }
?>


На почту приходит только одно значение чекбокса и вообще ничего с селекта.

Вопрос: что я делаю не так в .php файле. Как можно исправить, что бы приходили все значения чекбокса и значение селекта (по-умолчанию и выбранное)?
  • Вопрос задан
  • 1040 просмотров
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Первое с чего надо начать, это сделать print_r($_POST) и посмотреть что там.
Ответ написан
@Toliam
Сделай уникальные для каждого чекбокса имена, возможно это решит твою проблему.
В методе POST отправляется name1=value1, name2=value2, name3=value3
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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