2010-03-17 84 views
0

當談到PHP並且有一個通過電子郵件發送表單內容的腳本時,我毫無頭緒。麻煩的是,只有當我希望它也發送捕獲的名稱和電子郵件地址時,纔會向我發送評論。PHP郵件程序腳本的幫助

任何人都知道我可以如何調整這個腳本來做到這一點?

一百萬先謝謝了!

<?php 
error_reporting(E_NOTICE); 
function valid_email($str) 
{ 
    return (! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE; 
} 
if($_POST['name']!='' && $_POST['email']!='' && valid_email($_POST['email'])==TRUE && strlen($_POST['comment'])>1) 
{ 
    $to = "[email protected]"; 
    $headers = 'From: '.$_POST['email'].''. "\r\n" . 
    'Reply-To: '.$_POST['email'].'' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    $subject = "Contact Form"; 
    $message = htmlspecialchars($_POST['comment']); 
    if(mail($to, $subject, $message, $headers)) 
    { 
    echo 1; //SUCCESS 
    } 
    else { 
    echo 2; //FAILURE - server failure 
    } 
} 
else { 
    echo 3; //FAILURE - not valid email 
} 
?> 

回答

1

你可以做

$extra_fields = 'Name: '.$_POST['name'].'<br>Email: '.$_POST['email'].'<br><br>Message:<br>'; 
$message = $extra_fields.$_POST['comment']; 

不完全是乾淨的,但你明白了吧。只需將數據連接到$消息。

+0

輝煌 - 謝謝! – Chris 2010-03-17 00:38:34

1

改變這一行:

$message = htmlspecialchars($_POST['comment']); 

$message = htmlspecialchars($_POST['name'] . $_POST['email'] . "\r\n" . $_POST['comment']); 

或者其他類似的效果

0

的問題是你的$message = ...線,其僅包括$_POST['comment'])變量。您需要添加如下所示的$_POST['name']$_POST['email']

$message = ''; 
$message .= htmlspecialchars($_POST['name']) . "\n"; 
$message .= htmlspecialchars($_POST['email']) . "\n"; 
$message .= htmlspecialchars($_POST['comment']) . "\n";