2017-01-03 116 views
1

我正在使用以下php腳本來處理我的表單。我不是在PHP真的很好,現在我想改變$ EMAIL_SUBJECT =爲「通過網站聯繫和名稱在表單中輸入用戶「通過網站聯繫。」這是可能的。更改電子郵件主題

<?php 
if(isset($_POST['email'])) { 
    // EDIT THE 2 LINES BELOW AS REQUIRED 
    $email_to = "[email protected]"; 
    $email_subject = "Contact via website"; 

    function died($error) { 
     // your error code can go here 
     echo "Onze verontschuldigen maar er is een fout gebeurd met het formulier dat u heeft ingevuld. "; 

     echo "Volgende fouten hebben zich voorgedaan:<br/><br/>"; 
     echo $error."<br/><br/>"; 
     echo "Probeer alsjeblieft opnieuw.<br/><br/>"; 
     die(); 
    } 

// validation expected data exists 
if(!isset($_POST['naam']) || !isset($_POST['email']) ||  !isset($_POST['interesse']) || !isset($_POST['tijd']) || !isset($_POST['details'])) { 
    died('Het spijt ons, maar er blijkt een probleem zich voor te doen met het formulier dat je hebt ingevuld.'); 
} 

$names = $_POST['naam']; // required 
$email_from = $_POST['email']; // required 
$intrests = $_POST['interesse']; // not required 
$time = $_POST['tijd']; // not required 
$comments = $_POST['details']; // 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 .= 'U heeft een ongeldig e-mail adres ingegeven.<br />'; 
} 

$string_exp = "/^[A-Za-z .'-]+$/"; 
if(!preg_match($string_exp,$names)) { 
    $error_message .= 'U heeft een ongeldige naam ingegeven.<br />'; 
} 
if(strlen($comments) < 2) { 
    $error_message .= 'U heeft ongeldige commentaar ingegeven.<br />'; 
} 
if(strlen($error_message) > 0) { 
    died($error_message); 
} 
$email_message = "Formulier details volgen:\n\n"; 

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

$email_message .= "Naam: ".clean_string($names)."\n"; 
$email_message .= "E-mail: ".clean_string($email_from)."\n"; 
$email_message .= "Interesse in: ".clean_string($intrests)."\n"; 
$email_message .= "Tijdsbestek: ".clean_string($time)."\n"; 
$email_message .= "Details: ".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); 
?> 
+0

**不是一個答案,只是一些事情,我看到你的腳本錯誤後if語句你檢查後不存在,你需要把'else'聲明你將POST值放到變量中的部分,你也可以說'$ _POST ['intrests']'不是必需的,與'$ _POST ['tijd']'一樣',但你在驗證if語句中使用它們所以如果其中一個沒有設定,它就會死亡。 – Loko

回答

2

只是使用這個:

$email_subject = "Contact via website from " . $_POST['naam']; 
+0

爲什麼這是downvoted?我認爲這很好? –

+0

數組到字符串的轉換是不可能的。給出'[array]' –

+0

爲什麼'$ _POST ['naam']'是一個數組?他正在使用'preg_match($ string_exp,$ names)'反正? – joconja