php 变量
$mcontent 的内容是“ dear:{$user['username']} 你购买的商品:{$goods_name},订单号{$goods_no}已下单成功,由于此商品近期销售火爆,请及时付款! ”把程序段贴出来看看
字符串和变量之间要用.来连接
你试试这样
$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;