使用PHP向用户发送电子邮件时遇到问题。我在电子邮件模板中绑定了一些值,但在发送到用户收件箱时没有在模板中获取这些值。我在下面解释我的代码。
$msgSub="Login credentials and verification link for Spesh";
$u_name='Username-"'.$email.'"';
$u_pass='Password-"'.$password.'"';
$url='http://oditek.in/spesh/mobileapi/categoryproduct.php?item=4&acn=2&email='+$email;
ob_start();
include "verification.php";
$msg_body=ob_get_clean();
$is_send=sendMail($email,'info@thespesh.com',$msgSub,$msg_body);
verification.php:
<br /><br />
<b><?php echo $u_name ?></b><br /><br />
<b><?php echo $u_pass ?></b>
<b><?php echo $url ?></b>
<br /><br />
function sendMail($to,$from,$subject,$msg_body){
$headers = "MIME-Version: 1.0" . "\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\n";
$headers .= 'From: '.$from . "\n";
$id=mail($to,$subject,$msg_body,$headers);
if($id){
return 1;
}else{
return 0;
}
}
此处我获得了$u_name and $u_pass
的价值,但$url
的价值即将来临0
。在第一个文件中,我已经声明了url
的值。 url的值应该来了。请帮助我。
答案 0 :(得分:1)
问题显然在设置$url
的路上:
$url = 'http://.../categoryproduct.php?item=4&acn=2&email=' + $email;
(我删除了第一个字符串中一些不重要的部分,让问题成为焦点)。
addition operator (+
)计算其操作数的总和。如果操作数是字符串,则首先将它们转换为数字。当字符串转换为数字时,只使用看起来像数字的字符串的最大长度前缀,其余部分将被忽略。在这段代码中,两个字符串以字母开头,而不是数字,这就是为什么它们都被转换为0
(零)。
要连接字符串,请使用concatenation operator (.
):
$url = 'http://oditek.in/spesh/mobileapi/categoryproduct.php?item=4&acn=2&email='
. $email;