2012-04-03 53 views
0

的一部分,所以我相當新的PHP(與它的工作有點,但不是很多)。我有一個表單提交發送到我的電子郵件。問題是,我想在我的主題行的答案之一。例如:他們選擇的錯誤,我想我的題目是「網站:蟲」,或「網站:其他」這取決於他們選擇什麼形式的主題。PHP:表單提交asnwer電子郵件主題

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

    $email_to = "[email protected]"; 
    $email_subject = "Site: Submission"; 

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

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

    $name = $_POST['name']; // required 
    $email_from = $_POST['email']; // required 
    $subject = $_POST['subject']; // drop down menu 
    $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,$name)) { 
    $error_message .= 'The 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 .= "Name: ".clean_string($name)."\n"; 
    $email_message .= "Email: ".clean_string($email_from)."\n"; 
    $email_message .= "Subject: ".clean_string($subject)."\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); 
    ?> 

    Thank you for you submission. 

    <?php 
    } 
    die(); 
    ?> 

任何幫助表示讚賞。很抱歉,如果這是一個簡單的問題,但是我無法找到使用谷歌的答案。

回答

1

假設你想在郵件主題中$subject內容,把這樣的事情只是電子郵件標題前:

[...] 
if (isset($subject)) { 
    $email_subject = 'Site: '.$subject; 
} 

// create email headers 
[...] 
+0

這!!!!!感謝兄弟,它是我錯過的if(isset)。我有內部的一部分,但它只是凍結了某些原因。謝謝! – LiverpoolFTW 2012-04-03 14:52:32

1

如果我理解正確的話,你 - 只需將其添加到主題:

$subject = $_POST['subject']; // drop down menu 
$email_subject = "Site: ".$subject; 

先得到$subject然後將其添加到您的變量$ EMAIL_SUBJECT只是$改變這種$email_subject

1

EMAIL_SUBJECT =」網站:「。 $ _POST [ 'varname的'];

但OFC驗證,如果它是沒有下拉菜單中是很重要的

0

添加的東西像這樣你的形式。

<select name="subject"> 
    <option value="Site: Bug">Bug</option> 
    <option value="Site: Other">Other</option> 
</select> 
相關問題