2016-12-21 2 views
1

У меня есть этот PHP-код на моем внутреннем интерфейсеЗначения с флажка отправить по почте - PHP форма

if(!empty($_POST['model_list'])) { 
      foreach($_POST['model_list'] as $model) { 
      } 
     } else { 
      throw new Exception('Choose the model.'); 
     } 

Когда я получаю запрос от моего переднего конца, экран [ «model_list»] переменные $ _POST не похоже, содержит значение, указанное в интерфейсе.

Вот мой HTML код:

<input type="checkbox" value="A" name="model_list[]"><span>A</span> 

У меня есть ошибка:

Notice: Undefined variable: model in /form.php on line 17

Line 17:

$body = "Name: $name \n E-mail: $email \n Phone number: $tel \n Serial number: $number \n Model: $model \n Message: $message \n"; 

Полный код:

<?php 
if (isset($_POST["submit"])) { 
    $name  = (string) $_POST['name']; 
    $email  = (string) $_POST['email']; 
    $message = (string) $_POST['message']; 
    $number  = (string) $_POST['number']; 
    $tel  = (string) $_POST['tel']; 
    $from  = '[email protected]'; 
    $to   = '[email protected]'; 
    $subject = 'Form'; 

    $body = "Name: $name \n E-mail: $email \n Phone number: $tel \n Serial number: $number \n Model: $model \n Message: $message \n"; 

    try { 
     if (!$name) { 
      throw new Exception('Write name.'); 
     } 
     if (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL)) { 
      throw new Exception('Write correct e-mail'); 
     } 
     if (!$message) { 
      throw new Exception('Write message'); 
     } 
     if (mail ($to, $subject, $body, $from)) { 
      $result = "<center><div style='color:white;font-size:15px;font-weight:700;'>Your message has been sent</div></center>"; 
     } else { 
      throw new Exception("Your message has not been sent, try again"); 
     } 
     if(!empty($_POST['model_list'])) { 
      foreach($_POST['model_list'] as $model) { 
      } 
     } else { 
      throw new Exception('Choose the model.'); 
     } 
    } catch(Exception $e){ 
     $result = "<center><div style='color:white;font-size:25px;font-weight:700;'>" . $e->getMessage() . "</div></center>"; 
    } 

    echo $result; 
} 
?> 

Заранее спасибо.

+0

Ну, я редактировал psot – d4vinc1

+0

Вы не установите '$ model' пока вы назначаете' $ body'. – Barmar

+0

Когда я добавил '$ model = (string) $ _POST [' model_list ']' Я получил электронное письмо с «массивом» как Model – d4vinc1

ответ

0

Чтобы получить все модели в электронной почте, используйте implode:

if (!empty($_POST['model_list'])) { 
    $model = implode(', ', $_POST['model_list']); 
} else { 
    $model = ''; 
}