2013-10-08 60 views
0

當我試圖發送多個郵件的PHP文件附件,從數據庫中獲取數據,發送成功後的郵件我在Invite.php文件時,在Gmail中,這意味着後發送的郵件PHP文件不是從數據庫中獲取數據,所以它沒有顯示任何鏈接,但其他所有內容都顯示良好,在本地主機的PHP鏈接顯示正確發送郵件與附加php文件從數據庫中獲取數據

這是我的代碼

指數.php

<?php 
if(!empty($_POST['invite'])) { 
foreach($_POST['invite'] as $check) { 
    } 
$import_emails = implode($_POST['invite'], ','); 
$imp_eml = explode(',', $import_emails); 

foreach ($imp_eml as $addr) 
{ 
$mail->AddBCC($addr); 
} 
$mail = new PHPMailer(); 
$body = file_get_contents('invite.php'); 
$body = eregi_replace("[\]",'',$body); 
$mail->MsgHTML($body); 
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->From = '[email protected]'; 
$mail->FromName = 'Someone'; 
$mail->Host = '********'; 
$mail->SMTPAuth = true; 
$mail->Username = '*******'; 
$mail->Password = '*******'; 

if($mail->Send()) 
{ 
echo "success"; 
} else { 
echo "failure"; 
} 
} 
?> 

invite.php

<?php 
include("connect.php") 
$customerid = $_REQUEST['customerId']; //comming from another page 

$query = mysql_query("select * from table where customerId = '$customerid'"); 
while($fetch=mysql_fetch_array($query)) { 
$prjid = $fetch['projectId']; 
} 
?> 
Vote for my projects <?php echo '<a href="http://www.mywebsite.com/project-details/'.$c_id.'/'.$p_id.'/">here</a>'; ?>.<br/> 
<a href="http://www.mywebsite.com/project-details/<?php echo $c_id.'/'.$p_id.'/'; ?>"><?php echo 'http://www.mywebsite.com/project-details/'.$c_id.'/'.$p_id.'/'; ?></a> 
?> 

你有什麼想法嗎?

回答

3

file_get_contents()只會得到文件的內容(驚喜:))。要執行它,你必須使用includerequire並捕獲結果ob_*()

我認爲最好創建一個函數,將鏈接返回爲字符串以避免使用輸出緩衝。

關於輸出緩衝,你可以在這裏閱讀:http://php.net/manual/en/book.outcontrol.php

+0

抱歉,但我不知道OB _ *(),所以你可以解釋或者你可以給我提供的鏈接吧。謝謝 –

+0

@ShubhamVema閱讀更新的答案。關於使用函數的部分也是:) –

相關問題