Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 如何使用codeigniter发送重置密码链接?_Php_Codeigniter_Email - Fatal编程技术网

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用户。谢谢你的解决方案很高兴这对你有帮助。请接受并投票支持我的回答,以帮助社区用户