2015-11-17 54 views
-1

我想使用下面的代码将用户选择的选项的值发送到电子邮件地址,但该值在发送后不会显示在电子邮件中。无法获得选择选项以POST到电子邮件php

这里是我的形式:

<!-- contact form --> 
      <form action="plugins/contact-form.php" method="post" class="form contact-form"> 
       <div class="row clearfix"> 
        <div class="col-1-3"> 
         <label for="contact-name"><strong>Name</strong> (required)</label> 
         <input type="text" name="name" value="" id="contact-name" required> 
        </div> 
        <div class="col-1-3"> 
         <label for="contact-email"><strong>Email</strong> (required)</label> 
         <input type="email" name="email" value="" id="contact-email" required> 
        </div> 
        <div class="col-1-3 last"> 
         <label for="contact-www"><strong>Subject</strong></label> 
         <input type="text" name="subject" value="" id="contact-www"> 
        </div> 
       </div> 
       <div class="row clearfix"> 
        <div class="col-1-1"> 
        <select name="feedback" id="feedback"> 
        <option value="1">Volvo</option> 
        <option value="2">Saab</option> 
        <option value="3">Mercedes</option> 
        <option value="4">Audi</option> 
        </select> 
        </div> 

        <div class="col-1-1 last"> 
         <label for="contact-message"><strong>Message</strong> (required)</label> 
         <textarea name="message" id="contact-message" cols="88" rows="6" required></textarea> 
        </div> 
       </div> 
       <input type="submit" value="Submit Comment" class="large invert"> 
       <div class="clear"></div> 
      </form> 
      <!-- /contact form --> 

这里是我的.PHP:

<?php 

// Get email address 
require_once 'config.php'; 

// Ensures no one loads page and does simple spam check 
if(isset($_POST['name']) && empty($_POST['spam-check'])) { 

    // Declare our $errors variable we will be using later to store any errors 
    $error = ''; 

    // Setup our basic variables 
    $input_name = strip_tags($_POST['name']); 
    $input_email = strip_tags($_POST['email']); 
    $input_subject = strip_tags($_POST['subject']); 
    $feedback = array(1 => "Volvo", 2 => "Saab", 3 => "Mercedes", 4 => "Audio"); 
    $feedback = $feedback[(int) $_POST['feedback']]; 
    $input_message = strip_tags($_POST['message']); 

    // We'll check and see if any of the required fields are empty 
    if(strlen($input_name) < 2) $error['name'] = 'Please enter your name.'; 
    if(strlen($input_message) < 5) $error['message'] = 'Please leave a message.'; 

    // Make sure the email is valid 
    if(!filter_var($input_email, FILTER_VALIDATE_EMAIL)) $error['email'] = 'Please enter a valid email address.'; 

    // Set a subject & check if custom subject exist 
    $subject = "Message from $input_name"; 
    if($input_subject) $subject .= ": $input_subject"; 

    $message = "$input_message\n"; 
    $message .= "\n---\nThis email was sent by contact form."; 
    $feedback = "$feedback"; 

    // Now check to see if there are any errors 
    if(!$error) { 

     // No errors, send mail using conditional to ensure it was sent 
     if(mail($your_email_address, $subject, $message, "From: $input_email")) { 
      echo '<p class="success">Your email has been sent!</p>'; 
     } else { 
      echo '<p class="error">There was a problem sending your email!</p>'; 
     } 

    } else { 

     // Errors were found, output all errors to the user 
     $response = (isset($error['name'])) ? $error['name'] . "<br /> \n" : null; 
     $response .= (isset($error['email'])) ? $error['email'] . "<br /> \n" : null; 
     $response .= (isset($error['message'])) ? $error['message'] . "<br /> \n" : null; 

     echo "<p class='warning'>$response</p>"; 

    } 

} else { 

    die('Direct access to this page is not allowed.'); 

} 
+0

'$ message。=“$ feedback”;'你设置$ feedback而不是消息。 –

回答

0

我认为错误是在这里:

$message = "$input_message\n"; 
$message .= "\n---\nThis email was sent by contact form."; 
$feedback = "$feedback"; 

,就应该替换最后一行有:

$message .= $feedback; 
+0

谢谢,男士!我刚到这里之前就修好了它。你是对的。 –

相关问题