Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在我的电子邮件模板中使用从数据库获取的变量值_Php_Mysql_Codeigniter_Email - Fatal编程技术网

Php 如何在我的电子邮件模板中使用从数据库获取的变量值

Php 如何在我的电子邮件模板中使用从数据库获取的变量值,php,mysql,codeigniter,email,Php,Mysql,Codeigniter,Email,我的电子邮件格式像 $confirmationcode = rand(10, 1000); $unumber = uniqid(); $message= '<html><head></head><body> <div style="height:600px; width:100%; "> <h3>'.$fetch_tration.'<br></div>&l

我的电子邮件格式像

$confirmationcode = rand(10, 1000);
$unumber = uniqid();
$message= '<html><head></head><body>
          <div style="height:600px; width:100%; "> 
            <h3>'.$fetch_tration.'<br></div></body> </html>';

        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_port'] = 465;
        $config['smtp_user'] = 'example@example.com';
        $config['smtp_pass'] = '************';
        $config['charset'] = 'utf-8';
        $config['wordwrap'] = TRUE;
        $this->load->library('email');
        $this->email->initialize($config);
        $this->email->set_newline("\r\n");
        $this->email->from('example@example.com', 'Admin Team');
        $this->email->to(example@example.com);
        $this->email->subject('Confirm  Registration');
        $this->email->message($message);
        $this->email->set_mailtype('html');
        $this->email->send();  
$confirmationcode=rand(101000);
$unumber=uniqid();
$message='1
“.$fetch\u lation.”;
$config['protocol']='smtp';
$config['smtp_主机']='ssl://smtp.gmail.com';
$config['smtp_port']=465;
$config['smtp_用户']='example@example.com';
$config['smtp_pass']='**************';
$config['charset']='utf-8';
$config['wordwrap']=TRUE;
$this->load->library('email');
$this->email->initialize($config);
$this->email->set_newline(“\r\n”);
$this->email->from($this)example@example.com","行政小组",;
$this->email->to(example@example.com);
$this->email->subject('Confirm Registration');
$this->email->message($message);
$this->email->set_mailtype('html');
$this->email->send();
在电子邮件代码中,$fetch\n是类似于

请在www.doamin.Com上确认您的注册

其中确认文本有一个链接,如 “.$confirmationcode.”/“.$unumber.”

我想用在邮寄时分配的值替换$confirmationcode和$unumber。 当有人注册后,电子邮件发送成功,但变量$confirmationcode和$unumber未在链接中分配。当用户点击确认链接时,会出现如下错误

您提交的URI包含不允许的字符

请帮忙
提前感谢

如果您使用CodeIgniter作为框架,那么您可以直接从配置文件中使用允许的字符

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-=';
你们可以上传完整的链接,这样,很容易理解确切的问题

http://example.com/mycon/emailconfirmation/'.$confirmationcode.'/'.$unumber.'
若你们通过点击按钮得到上面的链接,那个么这是完全错误的,你们必须使用“str_replace”函数来替换模板中的url

例:


是的,对于您的电子邮件模板,您可以用模板hatml标记值替换变量$emaildata['message']=文件获取内容(资产URL.'email\u模板/文件名')$emaildata['message']=str_replace('ReplacetagName',$YourVariable,$emaildata['message']);
$emaildata['message'] = file_get_contents(ASSETS_URL.'email_templates/filename');
$emaildata['message'] = str_replace('ReplacetagName', $YourVariable, $emaildata['message']);