2016-06-16 5 views
1

Ich habe ein HTML/PHP-Formular gebaut. Es funktioniert und reicht erfolgreich auf der Seite ein, die besagt, dass das Formular eingereicht wurde.PHP-Kontaktformular zu E-Mail-Nachname und Dropdown-Menü-Auswahl

Es mailt mir einige Informationen, aber ich muss den Nachnamen und die Optionen in zwei Dropdown-Menüs enthalten Programm und Start Term.

Jede Hilfe wird geschätzt. Vielen Dank.

Hier ist der 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> 

Dann wird der 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

sagst du '$ name' wird gesendet, aber' $ lname' ist nicht? –

+0

@Dagon Ja $ Name wird über die Submission E-Mail gesendet, aber $ lname, $ program und $ startterm kommen nicht durch es ist nur leer in der E-Mail –

+0

an der Spitze der php add 'var_dump ($ _ POST);' ausfüllen Das Formular ans und senden Sie die Ergebnisse hier –

Antwort

0

Hier ist ein Beispiel von Daten aus einer Auswahlliste zu sammeln:

<?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

zuerst von allem, chang e die HTML-Codierung für die Drop-down-Menü, wie unten

<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> 

Ich denke, Sie wollen Programm und starten Begriff Textwerte anstelle von Zahlen sein. Dann ist es nicht ratsam, Leerzeichen in den Optionen zu belassen (der Wert, der auf der Seite gedruckt werden soll). Dann noch etwas in Ihrem html put action = "phppage.php". dann lade die Werte in deiner PHP-Seite als $ _POST ['fieldname'] ab.

Verwandte Themen