簡體   English   中英

PHP表單根據用戶下拉菜單選擇發送郵件

[英]Php form send mail based on user dropdown selection

我有一個PHP聯系人表單,我想在上面添加一些代碼,但不確定如何。 所以基本上我有用於網上預約的表格。 在“部門”的下拉選擇中,我有多個選擇。 我如何制作php表單以通過用戶選擇將請求發送到接收者的電子郵件地址。 例如,如果有人將選擇管理員部門。 如果有人選擇帳戶部門,則應將電子郵件發送到admin @ domain。 電子郵件應該轉到account @ domain。 這是我的php表單代碼:

enter code here
<?php
/*

Variable 
$dzName : Contact Person Name
$dzEmail : Contact Person Email
$dzMessage : Contact Person Message
$dzRes : response holder
$dzOtherField : Form other aditional fields


$dzMailSubject : Mail Subject.
$dzMailMessage : Mail Body
$dzMailHeader : Mail Header
$dzEmailReceiver : Contact receiver email address
$dzEmailFrom : Mail Form title
$dzEmailHeader : Mail headers
*/

$dzEmailTo = "reciever@gmail.com;   // Receiver Email Address                         "reciever@gmail.com" 
$dzEmailFrom   = "Website form";

function pr($value)
{
echo "<pre>";
print_r($value);
echo "</pre>";
}


#### Appoinment Form Script ####
if(!empty($_POST) && $_POST['dzToDo'] == 'Appoinment')
{
$dzName = trim(strip_tags($_POST['dzName']));
$dzEmail = trim(strip_tags($_POST['dzEmail']));
$dzMessage = strip_tags($_POST['dzMessage']);   
$dzRes = "";
if(!filter_var($dzEmail, FILTER_VALIDATE_EMAIL)) 
{
    $dzRes['status'] = 0;
    $dzRes['msg'] = 'Adresa Email gresita.';
    echo json_encode($dzRes);
    exit;
}



$dzMailSubject = 'Formular programare online';
$dzMailMessage  =   "
                    Programare online: <br><br>
                    Name: $dzName<br/>
                    Email: $dzEmail<br/>
                    Message: $dzMessage<br/>
                    ";
$dzOtherField = "";
if(!empty($_POST['dzOther']))
{
    $dzOther = $_POST['dzOther'];
    $message = "";
    foreach($dzOther as $key => $value)
    {
        $fieldName = ucfirst(str_replace('_',' ',$key));
        $fieldValue = ucfirst(str_replace('_',' ',$value));
        $dzOtherField .= $fieldName." : ".$fieldValue."<br>";
    }
}
$dzMailMessage .= $dzOtherField; 

$dzEmailHeader      = "MIME-Version: 1.0\r\n";
$dzEmailHeader      .= "Content-type: text/html; charset=iso-8859-1\r\n";
$dzEmailHeader      .= "From:$dzEmailFrom <$dzEmail>";
$dzEmailHeader      .= "Reply-To: $dzEmail\r\n"."X-Mailer:                           PHP/".phpversion();
if(mail($dzEmailTo, $dzMailSubject, $dzMailMessage, $dzEmailHeader))
{
    $dzRes['status'] = 1;
    $dzRes['msg'] = 'Va multumim pentru mesaj. Va vom raspunde la cerere     in cel mai scurt timp posibil.';
}
else
{
    $dzRes['status'] = 0;
    $dzRes['msg'] = 'Eroare! Va rugam incercati din nou!.';
}
echo json_encode($dzRes);
exit;
}   
#### Appoinment Form Script End ####

然后我在表格上有這個:

<div class="col-md-6 col-sm-12 text-center worker">
                        <div class="p-lr40 p-t30 p-b40 clearfix mack-an-appointment black">
                            <form method="post" class="dzForm" action="script/contact.php">
                            <input type="hidden" value="Appoinment" name="dzToDo" >
                            <div class="row">
                                <div class="text-white text-center">
                                    <h2 class="h2 m-t0">Programare<span class="text-primary">online!</span></h2>
                                    <div class="dez-separator-outer"><div class="dez-separator bg-primary style-liner"></div></div>
                                    <p class="title-small">Folositi acest formular pentru a solicita o programare.<br></p>
                                </div>
                                <div class="col-md-6">
                                    <div class="form-group">
                                            <input name="dzName" class="form-control" placeholder="Nume" type="text">
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="form-group">
                                            <input name="dzEmail" class="form-control" placeholder="Email" type="text">
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="form-group">
                                            <input name="dzOther[Telefon]" class="form-control" placeholder="Telefon" type="text">
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="form-group">
                                            <select class="bs-select-hidden" name="dzOther[Departament]" >
                                               <option value="admin">Secretariat</option>
                                               <option value="accounts">Casierie</option>
                                               <option value="management">Decanat</option>
                                               <option value="sdut">Cancelarie studenti</option>
                                            </select>
                                    </div>
                                </div>
                                <div class="col-md-12">
                                    <div class="form-group">
                                        <div class="input-group">
                                            <textarea name="dzMessage" rows="4" class="form-control" required=""></textarea>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-12 text-center">
                                    <div class="dzFormMsg" ></div>
                                    <button name="Reset" value="Reset" type="reset" class="site-button skew-secondry"><span>Reseteaza</span></button>
                                    <button name="submit" type="submit" value="Submit" class="site-button skew-secondry"><span>Trimite</span></button>

首先,創建如下的電子郵件ID數組:

$emailList = array('admin' => 'admin@domain', 
                'accounts' => 'accounts@domain'
                'management' => 'management@domain',
                'sdut' => 'sdut@domain'
            );

上面數組中的鍵應與下拉列表的value屬性完全匹配

現在,當用戶提交表單時,使用$_POST['dzOther']['Departament']值獲取用戶的響應,並將其用作從$emailList數組中獲取適當電子郵件ID的鍵,並相應地發送電子郵件。

$dzEmailTo = $emailList[$_POST['dzOther']['Departament']];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM