Php 如何使用codeigniter发送重置密码链接?
我正在尝试发送重置密码链接给忘记密码的用户。一切运行良好,但它返回一个错误,这是Php 如何使用codeigniter发送重置密码链接?,php,codeigniter,email,Php,Codeigniter,Email,我正在尝试发送重置密码链接给忘记密码的用户。一切运行良好,但它返回一个错误,这是 A PHP Error was encountered Severity: Notice Message: Undefined variable: http://localhost/ucuztoptan/giris/mail_sifreyenile/AUc20agxnSZL/onurcck@gmail.com Filename: controllers/Giris.php ... 这是我的代码 publi
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: http://localhost/ucuztoptan/giris/mail_sifreyenile/AUc20agxnSZL/onurcck@gmail.com
Filename: controllers/Giris.php
...
这是我的代码
public function farklisifre()
{
$viewData = new StdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "sifremiunuttum";
$email = $this->input->post("email");
$this->load->helper("string");
$temp_password = random_string("alnum", 12);
$link=base_url()."giris/mail_sifreyenile/".$temp_password."/". $email;
if($email){
$config = array(
"protocol" => "smtp",
"smtp_host" => "mail.avantajsepetim.com",
"smtp_port" => "587",
"smtp_user" => "noreply@avantajsepetim.com",
"smtp_pass" => "Ocec8687icsc@",
"starttls" => true,
"charset" => "utf-8",
"mailtype" => "html",
"wordwrap" => true,
"newline" => "\r\n"
);
$this->load->library("email", $config);
$this->email->from("noreply@avantajsepetim.com", "Avantajsepetim");
$this->email->to($email);
$this->email->subject("Şifre Yenileme");
$this->email->message("Aşağıdaki bağlantıya tıklayarak, açılacak olan sayfadan şifrenizi yenileyebilirsiniz.</br> <a href='${$link}'> $link</a> ");
$send = $this->email->send();
if ($send) {
$bilgi="Şifre güncelleme mailiniz gönderilmiştir.";
$viewData->bilgi = $bilgi;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
} else {
$bilgi = "Mail gönderme esnasında bir hata ile karşılaşıldı.";
$viewData->bilgi = $bilgi;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
}
}
}
farklisifre()公共功能
{
$viewData=新的StdClass();
$viewData->viewFolder=$this->viewFolder;
$viewData->subViewFolder=“sifremiunutum”;
$email=$this->input->post(“电子邮件”);
$this->load->helper(“字符串”);
$temp\u password=随机字符串(“alnum”,12);
$link=base_url().“giris/mail_sifreyenile/”$temp_password./”$email;
如果($电子邮件){
$config=array(
“协议”=>“smtp”,
“smtp_主机”=>“mail.avantajsepetim.com”,
“smtp_端口”=>“587”,
“smtp_用户”=>”noreply@avantajsepetim.com",
“smtp_pass”=>“Ocec8687icsc@”,
“starttls”=>正确,
“字符集”=>“utf-8”,
“邮件类型”=>“html”,
“wordwrap”=>正确,
“换行符”=>“\r\n”
);
$this->load->library(“电子邮件”,$config);
$this->email->from(“noreply@avantajsepetim.com“,“Avantajsepetim”);
$this->email->to($email);
$this->email->subject(“Şifre Yenileme”);
$this->email->message(“AşAğdaki bağlantıya tıklayarak,Aşlacak olan sayfadanşifrenizi yenillebehilliniz.”;
$send=$this->email->send();
如果($send){
$bilgi=“ifre güncelleme Mailizing gönderilmiştir。”;
$viewData->bilgi=$bilgi;
$this->load->view(“{$viewData->viewFolder}/{$viewData->subViewFolder}/index”,$viewData);
}否则{
$bilgi=“邮件gönderme esnasında bir hata ile karşlaşldı。”;
$viewData->bilgi=$bilgi;
$this->load->view(“{$viewData->viewFolder}/{$viewData->subViewFolder}/index”,$viewData);
}
}
}
问题是这条线。我使用codeigniter,你知道的。到目前为止我还不能解决这个问题。一切正常,但奇怪的是我面对这个错误
$this->email->message("Aşağıdaki bağlantıya tıklayarak, açılacak olan sayfadan şifrenizi yenileyebilirsiniz.</br> <a href='${$link}'> $link</a> ");
$this->email->message(“AşAğdaki bağlantıya tıklayarak,Aşlacak olan sayfadanşifrenizi yenillebehillinizis.”;
请按如下方式更正
$message = "Aşağıdaki bağlantıya tıklayarak, açılacak olan sayfadan şifrenizi yenileyebilirsiniz.
</br><a href='".$link."'>".$link."</a>";
$this->email->message($message);
$message=“AşAğdaki bağlantıya tıklayarak,Açılacak olan sayfadanşifrenizi yenillebehalbilisniz。
“;
$this->email->message($message);
变量与字符串的串联有问题
我的建议是,发送像电子邮件地址这样的信息是不受欢迎的。敏感信息不应在URL中可见。
相反,将生成的临时密码存储在数据库中专用于忘记密码的单独字段中,并将其传递到URL中
当用户单击链接时,必须使用数据库中已存储的临时密码验证临时密码。一旦用户重置了密码,您就可以从数据库中清除临时密码
我希望这对你有帮助。如果你去掉了链接,会发生什么?奇怪。PHP报告变量的名称。为什么在这个例子中没有这样做呢?问题恰恰是
我已经做了你所有的!真正的密码不会出现,其中一个是临时密码,然后是任何已经删除自己的url用户。谢谢你的解决方案很高兴这对你有帮助。请接受并投票支持我的回答,以帮助社区用户