将复选框值发送到邮件

时间:2017-12-02 18:54:11

标签: php html forms email

我尝试了一切,我不知道还有什么可以尝试。 我得到了这个html表单,我希望结果发送邮件。 如果有人知道,你能帮我:) 随意修复我的代码或写一个新代码。

html代码:

<form method = "post" action = "formcheck.php">
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Lift" > Lift</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Terasa" > Terasa</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
      <label><input type="checkbox" name="formDoor[]" value="Novogradnja" > Novogradnja</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Garaza" > Garaža</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Klima" > Klima</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Internet" > Internet</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Kablovska" > Kablovska</label>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-6">
     <label><input type="checkbox" name="formDoor[]" value="Telefon" > Telefon</label>
    </div>
</form>

PHP代码是:

<?php

$formdoor = $_POST['formDoor'];
        if(IsChecked('formDoor','Lift')) {
            echo 'Odabrali ste nekretninu sa <i>Liftom.</i><br> ';
            }
        if(IsChecked('formDoor','Terasa')) {
            echo 'Odabrali ste nekretninu sa <i>Terasom.</i><br> ';
            }
        if(IsChecked('formDoor','Novogradnja')) {
                echo 'Odabrali ste nekretninu sa <i>Novogradnjom.</i><br> ';
            }
        if(IsChecked('formDoor','Garaza')) {
                echo 'Odabrali ste nekretninu sa <i>Garazom.</i><br> ';
            }
        if(IsChecked('formDoor','Klima')) {
                echo 'Odabrali ste nekretninu sa <i>Klimom.</i><br> ';
            }
        if(IsChecked('formDoor','Internet')) {
                echo 'Odabrali ste nekretninu sa <i>Internetom.</i><br> ';
            }
        if(IsChecked('formDoor','Kablovska')) {
                echo 'Odabrali ste nekretninu sa <i>Kablovskom.</i><br> ';
            }
        if(IsChecked('formDoor','Telefon')) {
                echo 'Odabrali ste nekretninu sa <i>Telefonom.</i><br> ';
            }
    }

    function IsChecked($chkname,$value) {
            if(!empty($_POST[$chkname])) {
                foreach($_POST[$chkname] as $chkval) {
                    if($chkval == $value) {
                        return true;
                    }
                }
            }
            return false;
        }


    //slanje maila
    if (preg_match('/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/', $mail) === 0) {
        echo "<p><strong>Niste uneli validan Email.</strong></p>".
            "<p>Molimo unesite ispravan Email.</p>";
        exit;
    }


    $subject = "Uspesno ste poslali poruku. Hvala sto koristite nase usluge!";
    $subject = ucwords($subject);

    $mailcontent = "Odabrali ste nekretninu sa: ".str_replace("\r\n"," ", $formdoor)."\n". //HERE I GOT THE PROBLEM
        "Ime i Prezime: ".str_replace("\r\n"," ", $ime)."\n".
        "E mail: ".str_replace("\r\n"," ", $mail)."\n".
        "Mobilni: ".str_replace("\r\n"," ", $mobilni)."\n".
        "Telefon: ".str_replace("\r\n"," ", $telefon)."\n".
        "Poruka: ".str_replace("\r\n"," ", $napomena)."\n";
    $fromaddress = "From: webserver@example.com";

    //poziva mail za slanje
    mail($toaddress, $subject, $mailcontent, $fromaddress);

    if (strlen($mail) < 6) {
        echo "E mail adresa nije ispravna. Molimo, unesite validnu E mail adresu.";
        exit;
    }
?>

PHP返回错误: 注意:第236行的C:\ wamp64 \ www \ eminent \ php \ formcheck.php中的数组到字符串转换

我不知道我还应该做什么。

1 个答案:

答案 0 :(得分:0)

对于数字数组,您可能使用$ variable_name而不是$ variable_name [&#34; index&#34;]作为关联或$ variable_name [0]。那是错误来自。