2013-04-18 24 views
0

首先我是什麼新的PHP和電子郵件,但我需要能夠發送兩個電子郵件模板連接,如果用戶有或沒有檢查輸入框。電子郵件功能的工作原理,但我完全失去了如何做一個If Else語句來交換模板。我的問題是,爲什麼我的控制檯不給我錯誤,但它不再發送。

的路徑需要...

  • 用戶不具有發票(檢查輸入框)>切換到模板1
  • 用戶具有發票>切換到模板2

    <p style="margin-top: 10px;"> 
    If you do not not your Invoice Number please check this box. 
    <input id="check" name="check" type="checkbox" /> 
    </p> 
    
    ------------------------------------------------------------ 
    
    
    <?php 
    
    $to  = $_POST['email']; 
    $subject = 'Subject '  . $_POST['invoice_name'] . ' ' 
                  . $_POST['invoice_year'] . ' - ' 
                  . $_POST['invoice_number'];     
    $header = "From: [email protected]" . "\r\n"; 
    $header .= "Reply-To: [email protected]" . "\r\n"; 
    $header .= "MIME-Version: 1.0" . "\r\n"; 
    $header .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
    
    $message = if(isset($_POST['check']) { 
        $message = '<html> 
            <body> 
             <h2>Email Template 2</h2> 
             <p> 
              Donec sed odio dui. Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec sed odio dui.</p> 
             <p><b>Name:    </b>' . $_POST['first_name'] . ' ' . $_POST['last_name'] . '</p> 
             <p><b>Invoice #:  </b>' . $_POST['invoice_name'] . ' ' 
                     . $_POST['invoice_year'] . ' - ' 
                     . $_POST['invoice_number'] . '</p> 
             <p><b>Date:    </b>' . $today = date("F j, Y, g:i a") . '</p> 
             <p><b>Card Used:  </b> XXXX-XXXX-XXXX-' . $charge->card->last4 . '</p> 
             <p><b>Payment Amount: </b>$' . $_POST['price'] . '</p> 
             <br/> 
             <p><b>Reminder:</b> Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> 
             <br/> 
             <p>http://www.website.com/payment</p> 
            </body> 
           </html>'; 
    
    } else { 
    
        $message = '<html> 
            <body> 
             <h2>Email Template 2</h2> 
             <p> 
              Donec sed odio dui. Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec sed odio dui.</p> 
             <p><b>Name:    </b>' . $_POST['first_name'] . ' ' . $_POST['last_name'] . '</p> 
             <p><b>Invoice #:  </b>' . $_POST['invoice_name'] . ' ' 
                     . $_POST['invoice_year'] . ' - ' 
                     . $_POST['invoice_number'] . '</p> 
             <p><b>Date:    </b>' . $today = date("F j, Y, g:i a") . '</p> 
             <p><b>Card Used:  </b> XXXX-XXXX-XXXX-' . $charge->card->last4 . '</p> 
             <p><b>Payment Amount: </b>$' . $_POST['price'] . '</p> 
             <br/> 
             <p><b>Reminder:</b> Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> 
             <br/> 
             <p>http://www.website.com/payment</p> 
            </body> 
           </html>'; 
    }; 
    
    mail($to, $subject, $message, $header); 
    
    ?> 
    

這裏有一個更簡單的方法來看看它。

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

     $message = ' HAS NO INVOICE '; 

    } else {   

     $message = ''; 

    }; 

    mail($to, $subject, $message, $header); 
?> 
+0

而您的問題是? – gview

+0

我的問題是,爲什麼我的控制檯不給我錯誤,但它不再發送。 – Z33

回答

0

不知道你想什麼做的,但我會做的if/else這樣的:

$message = ''; 
if(isset($_POST['check'])) 
{ 
    $message = '<html> 
        <body> 
         <h2>Email Template 1</h2> 
         <p> 
          Donec sed odio dui. Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec sed odio dui.</p> 
         <p><b>Name:    </b>' . $_POST['first_name'] . ' ' . $_POST['last_name'] . '</p> 
         <p><b>Invoice #:  </b>' . $_POST['invoice_name'] . ' ' 
                 . $_POST['invoice_year'] . ' - ' 
                 . $_POST['invoice_number'] . '</p> 
         <p><b>Date:    </b>' . $today = date("F j, Y, g:i a") . '</p> 
         <p><b>Card Used:  </b> XXXX-XXXX-XXXX-' . $charge->card->last4 . '</p> 
         <p><b>Payment Amount: </b>$' . $_POST['price'] . '</p> 
         <br/> 
         <p><b>Reminder:</b> Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> 
         <br/> 
         <p>http://www.website.com/payment</p> 
        </body> 
       </html>'; 

} else { 

    $message = '<html> 
        <body> 
         <h2>Email Template 2</h2> 
         <p> 
          Donec sed odio dui. Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec sed odio dui.</p> 
         <p><b>Name:    </b>' . $_POST['first_name'] . ' ' . $_POST['last_name'] . '</p> 
         <p><b>Invoice #:  </b>' . $_POST['invoice_name'] . ' ' 
                 . $_POST['invoice_year'] . ' - ' 
                 . $_POST['invoice_number'] . '</p> 
         <p><b>Date:    </b>' . $today = date("F j, Y, g:i a") . '</p> 
         <p><b>Card Used:  </b> XXXX-XXXX-XXXX-' . $charge->card->last4 . '</p> 
         <p><b>Payment Amount: </b>$' . $_POST['price'] . '</p> 
         <br/> 
         <p><b>Reminder:</b> Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> 
         <br/> 
         <p>http://www.website.com/payment</p> 
        </body> 
       </html>'; 
} 
+0

沒什麼可悲的。我刪除了下面的所有內容「$ message =''」,它運行良好,所以它的內部不能正常工作。 – Z33

0
$message = if(isset($_POST['check']) { 

應改爲只:

if(isset($_POST['check']) { 

因爲您在if語句中設置消息

+0

仍然無法正常工作。我有「if(isset($ _ POST ['check']){」之前,這就是爲什麼我增加了其餘的認爲這是問題的原因,但到目前爲止它仍然不工作:\我應該分享其他東西嗎? – Z33

+0

你可以嘗試在Content-type:後面添加一個空格,檢查郵件函數是否返回true或false – kbickar

+0

我得到'mail is not defined'。我的文檔調用一個Javascript文件,當提交按鈕時調用一個php文件被點擊,但點擊後它會調用Stripe支付來傳遞令牌,如果一切順利,它會發送電子郵件,但是當我嘗試添加if(isset())時,它會中斷。它會中斷,但是當我刪除它時,它就會起作用。去這裏試試看http://www.lepcalendars.com/marco – Z33