2017-09-02 19 views
0

私はそれにいくつかのコードを追加したいのですがどのようにしたいのPHPコンタクトフォームがあります。だから基本的に私はオンライン予約のためのこのフォームを持っています。私のドロップダウンで "部"の選択をすると、私は複数の選択肢があります。どのように私はユーザーの選択によって受信者の電子メールアドレスに要求を送信するPHPフォームを作ることができます。たとえば、誰かがadmin deptを選択するとします。誰かがdeptアカウントを選択する場合は、admin @ domainに電子メールを送信する必要があります。電子メールはaccount @ domainに移動する必要があります。ここに私のPHPのフォームのコードは次のとおりです。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 = "[email protected]; // Receiver Email Address       "[email protected]" 
$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> 

答えて

1

まず第一に、このような電子メールIDの配列を作成します。

$emailList = array('admin' => '[email protected]', 
       'accounts' => '[email protected]' 
       'management' => '[email protected]', 
       'sdut' => '[email protected]' 
      ); 

上記の配列のキーは、ドロップダウンリストのvalue属性と完全に一致する必要があります。

ユーザーがフォームを送信すると、$_POST['dzOther']['Departament']の値を使用してユーザーの応答を取得し、$emailListアレイから適切な電子メールIDを取得するためのキーとして使用し、それに従ってメールを送信します。

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

こんにちはポール、私は何か正しいことをしていないと思う...私はコードを私の.phpファイルに追加して何らかの理由で動作していません。フォームは何もしません... –

+0

@AndreiFechete '$ dzEmailTo'のステータスを確認しましたか? 'var_dump($ dzEmailTo);'を実行し、あなたがそこにあるものを見てください。 –

+0

申し訳ありませんが、私はそれを行う方法を知っていません...まだそれはどのように.... –

関連する問題