PHP почтовый обработчик для отправки формы (Bluehost) - PullRequest
0 голосов
/ 21 июня 2020

У меня есть форма с флажками, на которых есть несколько значений, и обработчик почты php для нее. Когда я нажимаю кнопку «Отправить», я получаю электронное письмо с подробностями обо всех полях, но только о флажках, и несколько разделов выбора поступают в виде массива, но не значений в форме, которые проверяются.

Вот мой html:

<form action="mail_handler.php" method="POST" name="form" class="form-box">
        <div class="modal-body mx-3">
        <div class="form-group">
          <input type="text" id="name" name="name" placeholder="Your Name" class="form-control" required>
        </div>
        &nbsp; &nbsp;
        <div class="form-group">
          <input type="email" name="email" placeholder="Your email" class="form-control" required>
        </div>
        &nbsp; &nbsp;
        <div class="form-row">
        <div class="form-group">
            <div class="form  input-with-post-icon datepicker">
            <input type="date" class="form-control" name="datefrom" required>
            <label style="color:MediumSeaGreen;" >Start Date</label>
          </div>
        </div>
        <div class="form-group">
            <div class="md-form  input-with-post-icon datepicker">
            <input type="date" class="form-control" name="dateto" required>
            <label style="color:MediumSeaGreen;" >End Date</label>
          </div>
        </div>
        </div>
        <div class="form-row">
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="check1" name="tours[]" value="check1">
        <label class="custom-control-label" for="check1">check1</label>
        </div>
        &nbsp; &nbsp;
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="Check2" name="tours[]" value="check2">
        <label class="custom-control-label" for="Check2">check2</label>
        </div>
        &nbsp; &nbsp;
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="Check3" name="tours[]" value="check3">
        <label class="custom-control-label" for="Check3">check3</label>
        </div>
        </div>
        <div class="form-row">
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="Check4" name="tours[]" value="check4">
        <label class="custom-control-label" for="Check4">check4</label>
        </div>
        &nbsp; &nbsp;
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="Check5" name="tours[]" value="check5">
        <label class="custom-control-label" for="Check5">check5</label>
        </div>
        &nbsp; &nbsp;
        </div>
        </div>
        <label style="color:MediumSeaGreen;" >Select Tours</label>
        
        
        <div class="form-row">
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="AccommodationCheck" name="service[]" value="Accommodation">
        <label class="custom-control-label" for="AccommodationCheck">Accommodation</label>
        </div>
        &nbsp; &nbsp;
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="TransporationCheck" name="service[]" value="Transporation">
        <label class="custom-control-label" for="TransporationCheck">Transporation</label>
        </div>
        &nbsp; &nbsp;
        <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="GuideCheck" name="service[]" value="Guide">
        <label class="custom-control-label" for="GuideCheck">Guide</label>
        </div>
        </div>
        <label style="color:MediumSeaGreen;" >Select checkbox values</label>
        
        
        <div>
        <select multiple class="custom-select" name="multipleselectionoptions[]" required>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        </select>
        <label style="color:MediumSeaGreen;" >Select Service Features</label>
        <div class="form-group">
          <i class="fas fa-pencil prefix grey-text"></i>
          <textarea type="text" class="md-textarea form-control" rows="4" name="msg" placeholder="messagebox"></textarea>
          </div>
      </div>
      <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="submit" class="btn btn-primary" name="submit">Send Enquiry</button>
      </div>
      </form>

и вот мой PHP:

<?php
    $mailto="orders@bakuiscalling.com"; 
        $pcount=0;
        $gcount=0;
        $subject = "Submitted Enquiry";

        $from="orders@bakuiscalling.com";
        while (list($key,$val)=each($_POST))
        {
        $pstr = $pstr."$key : $val \n ";
        ++$pcount;

        }
        while (list($key,$val)=each($_GET))
        {
        $gstr = $gstr."$key : $val \n ";
        ++$gcount;

        }
        if ($pcount > $gcount)
        {
        $message_body=$pstr;
        mail($mailto,$subject,$message_body,"From:".$from);
        echo "We have received your order, you'll be contacted shortly";
        }
        else
        {
        $message_body=$gstr;
        mail($mailto,$subject,$message_body,"From:".$from);
        echo "Mail has been sent";
        }
?>

Итак, как я могу настроить php, чтобы также получать значения флажков по электронной почте вместо получения только массива? Было бы здорово, если бы вы могли помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...