2012-06-12 73 views
-4

看看这个代码:功能邮件()

$to="$email"; 
$sub="Hi"; 
$mex="hi <br /> \"<a href='http://exemple.com/ver.php?id=$cod'</a>"\"; 
$int = "From:[email protected]"; 
$int .= "Reply-To:[email protected]"; 
$int .= "X-Mailer: PHP/".phpversion(); 
mail($to, $sub, $mex, $int); 

的错误是$ MEX,我认为这是对"<a href.."

如何解决这一问题?

+1

您甚至没有尝试添加报价并使用语法突出显示来查看代码错误.. – Gntem

回答

0
$to="$email"; 
$sub="Hi"; 
$mex="hi <br /> <a href='http://exemple.com/ver.php?id=$cod'>something</a>"; 
$int = "From:[email protected]"; 
$int .= "Reply-To:[email protected]"; 
$int .= "X-Mailer: PHP/".phpversion(); 
mail($to, $sub, $mex, $int); 
2
$mex="hi <br /> \"<a href='http://exemple.com/ver.php?id=$cod'></a>\""; 

你放错位置的最后一个反斜杠(\),它应该被用来逃避";

注意:使用库如Swiftmailer而不是mail()将使您的生活更容易。 例如加入标题(您应该在每个标题后添加CRLF,如manual page所述)。老实说,我认为初学者根本不应该使用mail()函数。去过也做过。

2

尝试这样

$mex="hi <br /> \"<a href='http://exemple.com/ver.php?id=$cod'</a>\""; 
0
$mex="hi <br /> \"<a href='http://exemple.com/ver.php?id=$cod'</a>"\"; 

应该

$mex= "hi <br/><a href='http://exemple.com/ver.php?id=$cod'>something here</a>"; 

无需包围在引号<a href ... ></a>,你可能想要把东西在></a>中间允许用户点击

0
$mex="hi <br /> <a href=\"http://exemple.com/ver.php?id=$cod\">Your link text HERE</a>"; 

而且头应该由换行符结束:

$int = "From:[email protected]\n\r"; 
$int .= "Reply-To:[email protected]\n\r"; 
$int .= "X-Mailer: PHP/".phpversion()."\n\r"; 

\n\r换行符是OS相关的,这适用于Windows,UNIX的使用只能\n\n\n