2016-04-14 48 views
0

我正在做聯繫表格作爲一個學校項目。我發現它只發送郵件,但沒有主題和評論。你能幫我麼?郵件缺少評論和主題

<?php 
if (isset($_POST['jmeno'])) { 
    if (!isset($_POST['email']) || !isset($_POST['koment']) || $_POST['jmeno'] = "" || $_POST['email'] = "" || $_POST['koment'] = "") { 
     die("Nastala chyba, musíte vyplnit všechny pole! Požadavek nebyl odeslán."); 
    } else { 
     mail('[email protected]', $_POST['email'], $_POST['koment']); 
     echo '<span style="text-align:center;color:green;font-size:30px;"> Připomínka odeslána</span>'; 
    } 
} 
?> 
+0

什麼'的print_r($ _ POST)''郵件()'函數調用之前說?以及哪個參數是您的主題和您的郵件正文?文檔說下面的命令:'郵件(字符串$到,字符串$主題,字符串$消息)' – mitkosoft

+0

你好,電子郵件被用作一個對象,koment是我的信息。我認爲我的功能是正確的,但由於某種原因,評論和主題不屬於郵件的一部分。它只有在它被寫成像這樣的「東西」時才起作用,否則不起作用。 – Restr

回答

-2

這是一個使用php mail()函數發送額外頭文件的工作示例。

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

看一看的PHP documentation在那裏你會發現你的電子郵件添加對象的更多的例子以及其他頭。

您的代碼,編輯例如:

<?php 
if (isset($_POST['jmeno'])) 
{ 
    if (!isset($_POST['email']) || 
     !isset($_POST['koment']) || 
     $_POST['jmeno'] = "" || 
     $_POST['email'] = "" || 
     $_POST['koment'] = "") 
     { 
     die("Nastala chyba, musíte vyplnit všechny pole! Požadavek nebyl odeslán."); 
    } 
    else 
    { 
     $headers = 'From: [email protected]' . "\r\n" . 
        'Reply-To: [email protected]'; 

     if(mail($_POST['email'], 'SUBJECT HERE', $_POST['koment'], $headers)) 
     { 
      echo '<span style="text-align:center;color:green;font-size:30px;"> Připomínka odeslána</span>';   
     } else { 
      echo 'Email error message'; 
     } 
    } 
} 
?> 
+0

請[僅限鏈接回答](http://meta.stackoverflow.com/tags/link-only-answers/info)。答案是「幾乎不超過一個鏈接到一個外部網站」[可能會被刪除](http://stackoverflow.com/help/deleted-answers) – Quentin

+0

@Quentin好點。答案現在有附加的示例代碼爲建議在SO元。我不能說如何答案值得減信貸,雖然它一定會幫助解決問題的Restr。 – Henkealg

+0

是的,它的工作原理,但只是因爲它不能從我的形式收到任何信息我不知道爲什麼,但它只是不發送主題和評論。 – Restr

-1

Documentation

bool mail (string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]]); 

我已經通過它可以在發送內容的參數創建一個功能

mails($EmailTo, $Subject, $Message, $EmailFrom, $ReplyTo); 

發送電子郵件HTML格式。您可以在$Message中添加HTML表格,以便以良好的格式查看電子郵件。

<?php 
// email alerts 
function mails($EmailTo, $Subject, $Message, $EmailFrom, $ReplyTo='') 
{ 
    $To = $EmailTo; 
    $Body = $Message; 
    $Headers = "MIME-Version: 1.0 \r\n"; 
    $Headers .= "From: $EmailFrom \r\n"; 
    $Headers .= "Reply-To: $ReplyTo \r\n"; 
    $Headers .= "Content-type: text/html; charset=iso-8859-1 \r\n"; 

    $MailSent = mail($To, $Subject, $Body, $Headers); 
    return $MailSent; 
} 

編輯:

if (isset($_POST['jmeno'])) 
{ 
    if (!isset($_POST['email']) || !isset($_POST['koment']) || $_POST['jmeno'] == "" || $_POST['email'] == "" || $_POST['koment'] == "") 
    { 
     die("Nastala chyba, musíte vyplnit všechny pole! Požadavek nebyl odeslán."); 
    } 
    else 
    { 
     $EmailFrom = isset($_POST['email']) ? $_POST['email'] : ''; 
     $ReplyTo = $EmailFrom; 
     $EmailTo = '[email protected]'; 
     $Subject = 'Subject Here'; 
     $Comment = isset($_POST['koment']) ? nl2br($_POST['koment']) : ''; 

     $Message = ' 
     Hi, <br /> 

     You have recieved a new message.<br /><br /> 

     <table border="0" cellpadding="5"> 
     <tr> 
     <td align="left" valign="top" width="100px">Email From :</td><td align="left" valign="top" width="200px">'.$EmailFrom.'</td> 
     <td align="left" valign="top">Koment :</td><td align="left" valign="top">'.$Comment.'</td> 
     </tr> 
     </table>'; 

     $MailSent = mails($EmailTo, $Subject, $Message, $EmailFrom, $ReplyTo); 

     if ($MailSent) 
     echo '<span style="text-align:center;color:green;font-size:30px;"> Připomínka odeslána</span>'; 
    } 
} 
?> 
+0

有助於改善代碼或找出問題的答案 –

+0

你好,還是不會收到任何主題和消息。 – Restr

+0

編輯上面的代碼,有分配操作符用來代替co比較操作符。輸出結果如何? –