2011-09-08 40 views
0

在獲取方法參數的前面添加我有一個消息是這樣的形式,斜槓使用PHP郵件功能

page.php?id=x&name=y 

,當我使用PHP的郵件功能發送郵件的正文鏈接

它會輸出鏈接(如果重要,請在gmail中),如page.php/?id=x&name=y即它在獲取參數"id"前面放置一個正斜槓。我最終會做URL重寫,但我很好奇如何防止這種情況發生在PHP而不進行URL重寫?

感謝

編輯:

這裏是代碼的相關章節:

//  $send_email and $rec_email are grabbed from database 

$part_mess = "<b>$sender_name". " says hi</b><br/><a href=profile.php?id=$sender_id&uname=$sender> View $sender_name"."'s profile</a>" ; 
$mess = $part_mess."<br/> Via <a href = 'http://www.mysite.com'>My Site</a>"; 
$headers = "MIME-Version: 1.0" . "\r\n"."Content-type:text/html;charset=iso-8859-1" . "\r\n".'From:'. $send_email . "\r\n"; 
mail($rec_email, $subject,$mess,$headers , '-f [email protected]'); 
+2

請出示代碼 –

+0

郵件()是不會重寫文本。這太愚蠢了。很可能是gmail做重寫。 –

+1

我猜想你正在用來清理電子郵件正文/ URL的功能之一就是添加這個功能。我嚴重懷疑gmail是否在URL中添加了一個錯誤的斜槓。 –

回答

0

我有同樣的問題,是你1and1.com爲您的主機?出於某種原因,只有我用他們託管的網站是mail()函數,用正斜槓來轉義所有特殊字符。

試試這個:

//  $send_email and $rec_email are grabbed from database 

$part_mess = "<b>$sender_name". " says hi</b><br/><a href=profile.php?id=$sender_id& uname=$sender> View $sender_name"."'s profile</a>" ; 
$mess = $part_mess."<br/> Via <a href = 'http://www.mysite.com'>My Site</a>"; 
$headers = "MIME-Version: 1.0" . "\r\n"."Content-type:text/html;charset=iso-8859-1" . "\r\n".'From:'. $send_email . "\r\n"; 
mail($rec_email, $subject,stripslashes($mess),$headers , '-f [email protected]');