2016-06-16 9 views
1

私はHTML/PHPフォームを構築しています。それは働いていて、フォームが提出されたことを示すページに正常に提出します。姓とドロップダウンメニューの選択に電子メールで連絡するPHPの連絡フォームを取得

私はいくつかの情報をメールでお知らせしますが、姓と2つのドロップダウンメニューで選択したオプションを含める必要があります。

助けてください。ありがとう。

がここにHTMLです:

<form class="form" role="form" method="POST" id="phpcontactform"> 
    <div class="form-group col-md-6" style="padding-left: 0px; padding-right:15px;"> 
     <input class="form-control input-lg" name="name" id="name" type="text" placeholder="First Name" required> 
    </div> 
    <div class="form-group col-md-6" style="padding-left: 0px; padding-right:0px;"> 
     <input class="form-control input-lg" name="lname" id="lname" type="text" placeholder="Last Name" required> 
    </div> 
    <div class="form-group"> 
     <input class="form-control input-lg" name="email" id="email" type="email" placeholder="Email" required> 
    </div> 
    <div class="form-group"> 
     <input class="form-control input-lg" name="mobile" id="mobile" type="text" placeholder="Phone"> 
    </div> 
    <div class="form-group col-md-6" style="padding-left: 0px; padding-right:15px;"> 
     <select class="form-control input-lg" id="program" name="program" type="text"> 
      <option value="" selected="selected">Program</option> 
      <option value="1" >One Year MBA</option> 
      <option value="2" >Part-Time MBA</option> 
     </select> 
    </div> 
    <div class="form-group col-md-6" style="padding-left: 0px; padding-right:0px;"> 
     <select class="form-control input-lg" id="startterm" name="startterm" type="text"> 
      <option value="" selected="selected">Start Term</option> 
      <option value="1" >Fall 2016</option> 
      <option value="2" >Spring 2017</option> 
      <option value="3" >Summer 2017</option> 
      <option value="4" >Fall 2017</option> 
     </select> 
    </div> 
    <div class="form-group col-md-6" style="padding-left: 0px; padding-right:15px;"> 
     <a href="https://grad.applycanisius.org/login" class="btn btn-warning btn-block btn-lg">Apply Now</a> 
    </div> 
    <div class="form-group col-md-6 last" style="padding-left: 0px; padding-right:0px;"> 
     <input type="submit" class="btn btn-warning btn-block btn-lg" value="Submit"> 
    </div> 
</form> 

次にPHP:

<? 
    $name = $_REQUEST["name"]; 
    $lname = $_REQUEST["lname"]; 
    $email = $_REQUEST["email"]; 
    $mobile = $_REQUEST["mobile"]; 
    $program = $_REQUEST["program"]; 
    $startterm = $_REQUEST["startterm"]; 
    //$msg = $_REQUEST["msg"]; 
    $to = "[email protected]"; // <--- Change email ID here 

    if (isset($email) && isset($name)) { 
     $subject = "$name sent you a message"; 
     $headers = "MIME-Version: 1.0" . "\r\n"; 
     $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
     $headers .= "From: ".$name." <".$email.">\r\n"."Reply-To: ".$email."\r\n" ; 
     $msg  = "From: $name <br /> Last Name: $lname <br/> Email: $email <br/>   

     Phone: $mobile <br /> Program: $program <br /> Start Term: $startterm";  

     //<br/>Message: $msg 

     $mail = mail($to, $subject, $msg, $headers); 
     if ($mail) { 
      echo 'success'; 
     } else { 
      echo 'failed'; 
     } 
    } 
?> 
+0

あなたは '$ name'は送信されていますが、' $ lname'は送信されていませんか? –

+0

@Dagonはい投稿メールで$ nameが送信されますが、$ lname、$ program、$ starttermはメール内で空白になります。 –

+0

は、PHPの最上位にあります。 'var_dump($ _ POST);'フォームは提出し、ここに結果を投稿してください –

答えて

0

ここでは、選択リストからデータを収集する例を示します。最初の

<?php 

$choices = array(
    'foo' => 'big', 
    'bar' => 'fat', 
    'baz' => 'mamma' 
); 

if($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $choice = isset($_POST['choice']) ? $_POST['choice'] : null; 
    $email = isset($_POST['email']) ? $_POST['email'] : null; 

    if(! array_key_exists($choice, $choices) || filter_var($email, FILTER_VALIDATE_EMAIL) === false) { 
     throw new Exception ("Invalid Choice or email"); 
    } 

    $message = sprintf("User with email: %s, selected: %s.", $email, $choices[$choice]); 
    echo $message; 
    die; 
} 

?> 

<form method="POST"> 
    Email: 
    <input type="text" name="email"> 
    Choose: 
    <select name='choice'> 
     <?php foreach($choices as $k => $v) { ?> 
      <option value="<?php echo $k; ?>"> 
       <?php echo $v ?> 
      </option> 
     <?php } ?> 
    </select> 
    <input type="submit"> 
</form> 
0

すべてのE HTMLは

<div class="form-group col-md-6" style="padding-left: 0px; padding-right:15px;"> 
    <select class="form-control input-lg" id="program" name="program" type="text"> 
     <option value="" selected="selected">Program</option> 
     <option value="OneYearMBA" >OneYearMBA</option> 
     <option value="Part-TimeMBA" >Part-TimeMBA</option> 
    </select> 
</div> 
<div class="form-group col-md-6" style="padding-left: 0px; padding-right:0px;"> 
    <select class="form-control input-lg" id="startterm" name="startterm" type="text"> 
     <option value="" selected="selected">Start Term</option> 
     <option value="Fall2016" >Fall2016</option> 
     <option value="Spring2017" >Spring2017</option> 
     <option value="Summer2017" >Summer2017</option> 
     <option value="Fall2017" >Fall2017</option> 
    </select> 
</div> 

以下のようにドロップダウンメニューをコードする私はあなたがプログラムをしたいとテキスト値の代わりに数字であることを用語を始めると思います。次に、オプションにスペースを残すことはお勧めしません(ページに印刷する値)。その後、あなたのhtml put action = "phppage.php"の中のもう一つのこと。 $ _POST ['fieldname']としてphpページの値を取得します。

関連する問題