没有使用PHP获得电子邮件模板的价值

时间:2017-09-26 06:17:51

标签: php email

使用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的值应该来了。请帮助我。

1 个答案:

答案 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;