$mcontent 的内容是“ dear:{$user['username']} 你购买的商品:{$goods_name},订单号{$goods_no}已下单成功,由于此商品近期销售火爆,请及时付款! ”
其中里面的也是变量,可以我 echo $mcontent; 输不出里的变量,请问大神要怎么做!!!
回复讨论(解决方案) 把程序段贴出来看看
字符串和变量之间要用.来连接
你试试这样
$mcontent = dear:{.$user['username'].} 你购买的商品:{.$goods_name.},订单号{.$goods_no.}已下单成功,由于此商品近期销售火爆,请及时付款!;
内容是从数据库里读出来的,楼上的不行,你的方法,我也想过,直接在代码里还行,从数据库里读出来的不行!
$query=new iquery('msg_template'); $query->limit=1; $query->where=id = 4; $arra=$query->find(); $mtitle=$arra[0]['title']; $mopen=$arra[0]['open']; $mcontent=$arra[0]['content']; $madmin_open=$arra[0]['admin_open']; if($madmin_open==1){ $madmin_email=$arra[0]['admin_email']; } //$mcontent = dear:{.$user['username'].} 你购买的商品:{.$goods_name.},订单号{.$goods_no.}已下单成功,由于此商品近期销售火爆,请及时付款!; if($mopen==1){ $smtp = new sendmail(); $error = $smtp->geterror(); $smtp->send($email,$mtitle,$mcontent,$madmin_email); }
$content =<<
eof;
echo $content;
楼上的也不行!!!!
楼上的也不行!!!!
你单独把这几个变量输出来看看什么情况
看不到源码啊...都不知道你的$mcontent 里的那些值是怎么来的~~~只能一个一个的打印啊.
//模拟从数据库中读出的数据$mcontent =<<< 'txt'dear:{$user['username']} 你购买的商品:{$goods_name},订单号{$goods_no}已下单成功,由于此商品近期销售火爆,请及时付款!txt;//涉及的变量需自行保证存在$user['username'] = 'body';$goods_name = 'xxx';$goods_no = '123';//方案一 不过有不少人恐惧 eval$mcontent = eval(return \$mcontent\;);echo $mcontent;//方案二 动态创建函数,格式有点绕人$f = create_function('$user,$goods_name,$goods_no', return \$mcontent\;);$mcontent = $f($user, $goods_name, $goods_no);echo $mcontent;//或$f = create_function('$user,$goods_name,$goods_no', 'return ' . $mcontent . ';');$mcontent = $f($user, $goods_name, $goods_no);echo $mcontent;//方案三 模板变量替换,这是解释型模板引擎的做法$mcontent = preg_replace('/{\$[^}]+}/e', '$1', $mcontent);echo $mcontent;
均将得到:
dear:body
你购买的商品:xxx,订单号123已下单成功,由于此商品近期销售火爆,请及时付款!
