2016-09-29 17 views
-1

名前をクリックした後、その特定の人にメールを送信するためのドロップダウンリストを設定する方法を探しています。基本的にPHPコードemailtoは、ドロップダウンリストで選択された人のEメールアドレスに変更されます。お問い合わせフォームへのお問い合わせ方法

私はそれを行う方法がわかりませんが、これはプロジェクトのためのものです。もし可能なら、私がそれを使うことができればそれは涼しいと思いました。

オールインワンこのタスクを完了するために使用できるコードを誰かが知っているかどうか尋ねています。現在、ドロップダウンリスト<li><a href>に設定されています。以下のコード:

<form action="Test.php" method="post" class="popup-form"> 
       <input type="text" class="form-control form-white" maxlength="25" name="first_name" placeholder="Name"> 
       <input type="text" class="form-control form-white" maxlength="25" name="last_name" placeholder="Name"> 
       <input type="text" class="form-control form-white" name="email" placeholder="Email Address"> 
       <input type="text" class="form-control form-white" maxlength="11" name="telephone" placeholder="Name"> 
       <input type="text" class="form-control form-white" name="comments" placeholder="Message"> 

       <div class="dropdown"> 
        <button id="dLabel" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
         Contact 
        </button> 
        <ul class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel"> 
         <li class="animated lightSpeedIn"><a href="#">Mr Ben Nguyen</a></li> 
         <li class="animated lightSpeedIn"><a href="#">Mr John Lee</a></li> 
         <li class="animated lightSpeedIn"><a href="#">Mr Robert Lamothe</a></li> 
         <li class="animated lightSpeedIn"><a href="#">Mr Bryan D.</a></li> 
         <li class="animated lightSpeedIn"><a href="#">Ms Shakira G.</a></li> 
        </ul> 
       </div> 
       <div class="checkbox-holder text-left"> 
        <div class="checkbox"> 
         <input type="checkbox" value="None" id="squaredOne" name="check" /> 
         <label for="squaredOne"><span>I Agree to the <strong>Terms &amp; Conditions</strong></span></label> 
        </div> 
       </div> 
       <button type="submit" name="submit" class="btn btn-submit">Submit</button> 
      </form> 

PHPのフォームはこちら

<?php 
if(isset($_POST['email'])) { 

    // CHANGE THE TWO LINES BELOW 
    $email_to = "[email protected]"; 

    $email_subject = "Rhien Centennial Comment Form"; 


    function died($error) { 
     // your error code can go here 
     echo "We're sorry, but there's errors found with the form you submitted.<br /><br />"; 
     echo $error."<br /><br />"; 
     echo "Please go back and fix these errors.<br /><br />"; 
     die(); 
    } 

    // validation expected data exists 
    if(!isset($_POST['first_name']) || 
     !isset($_POST['last_name']) || 
     !isset($_POST['email']) || 
     !isset($_POST['telephone']) || 
     !isset($_POST['comments'])) { 
     died('We are sorry, but there appears to be a problem with the form you submitted.');   
    } 

    $first_name = $_POST['first_name']; // required 
    $last_name = $_POST['last_name']; // required 
    $email_from = $_POST['email']; // required 
    $telephone = $_POST['telephone']; // not required 
    $comments = $_POST['comments']; // required 

    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
    if(!preg_match($email_exp,$email_from)) { 
     $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
    } 
    $string_exp = "/^[A-Za-z .'-]+$/"; 
    if(!preg_match($string_exp,$first_name)) { 
     $error_message .= 'The First Name you entered does not appear to be valid.<br />'; 
    } 
    if(!preg_match($string_exp,$last_name)) { 
     $error_message .= 'The Last Name you entered does not appear to be valid.<br />'; 
    } 
    if(strlen($comments) < 2) { 
     $error_message .= 'The Comments you entered do not appear to be valid.<br />'; 
    } 
    if(strlen($error_message) > 0) { 
     died($error_message); 
    } 
    $email_message = "Form details below.\n\n"; 

    function clean_string($string) { 
     $bad = array("content-type","bcc:","to:","cc:","href"); 
     return str_replace($bad,"",$string); 
    } 

    $email_message .= "First Name: ".clean_string($first_name)."\n"; 
    $email_message .= "Last Name: ".clean_string($last_name)."\n"; 
    $email_message .= "Email: ".clean_string($email_from)."\n"; 
    $email_message .= "Telephone: ".clean_string($telephone)."\n"; 
    $email_message .= "Comments: ".clean_string($comments)."\n"; 


// create email headers 
$headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
mail($email_to, $email_subject, $email_message, $headers); 
?> 

<!-- place your own success html below --> 

Thank you for contacting us. We will be in touch with you very soon. 

<?php 
} 
die(); 
?> 

であるPHPは、HTML形式でインライン化されていませんが、何らかの理由でPHPコードはLAST_NAMEと電話なしでは動作しません。だから私はそれを残しました、私はそれなしでそれを働かせる方法を知らないので。

+0

非常に可能です。しかし、あなたが持っているのはHTML形式です...いいえPHPどこでも – Machavity

+0

私は今それを更新します:) – Jayy

+0

更新されたPHPコード – Jayy

答えて

0

フォームに非表示の入力フィールドを追加し、イベントハンドラをドロップダウン(つまり、Onclick/onchange)に追加できます。例:

<input type="hidden" id="email_to" name="email_to"> 

... 

<a href="javascript:void(0)" onclick="document.getElementById("email_to").value = "[email protected]">Someone</a> 
関連する問題