在yii我创建忘记密码功能。为此用户输入电子邮件id.If此电子邮件ID是正确的,然后我想从数据库中检索securityQuestion ID并显示该问题user.if他的回答是正确的,然后密码重置链接将发送到用户的电子邮件ID。在控制器我做了行动在yii如何发送密码重置链接
public function ActionForget{if(isset($_POST['email']))
{ $record=User::model()->find(array(
'select'=>'primaryEmail',
'condition'=>'PrimaryEmail=:email',
'params'=>array(':email'=>$_POST['email']))
); if($record===null) {
$error = 'Email invalid';
} else {
$mailer = Yii::createComponent('application.extensions.mailer.EMailer');
$mailer->IsSMTP();
$mailer->IsHTML(true);
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = "ssl";
$mailer->Host = "smtp.gmail.com";
$mailer->Port = 465;
$mailer->CharSet = 'UTF-8';
$mailer->Username = "[email protected]";
$mailer->Password = "abc";
$mailer->From = "[email protected]";
$mailer->FromName = "Balaee.com";
$mailer->AddAddress($record);
$mailer->Subject = "welcome to Balaee";
$mailer->IsHTML(true);
$mailer->Body = "<h1>Thanks to showing interest </h1><br>click on link for other detail ".$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if($mailer->Send()) {echo "Please check mail";}
else {echo "Fail to send your message!"; }}}
else{ $this->render('emailForm'); //show the view with the password field}}
我有password.php作为视图文件进入主电子邮件ID和提交按钮
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'email-form',
'enableClientValidation'=>true,
));
echo CHtml::textField('email');
echo CHtml::submitButton('Send');
$this->endWidget();
但用户submiiting主电子邮件ID之后,没有任何动作,地点。所以可以请别人告诉我我需要做什么更改
请通过将echo语句调试代码,并检查其中控制休息,然后发现问题。 – Hemc
我现在正在逐步进行。如果电子邮件ID正确的,那么我想从用户表retrive该用户的securityQuestionid以显示安全问题他。我创造了查询AS-如果(isset($ _ POST [“邮件”])){ $记录=用户1: :模型() - >查找(阵列( '选择'=> 'primaryEmail', '状态'=> 'primaryEmail =:电子邮件', 'PARAMS'=>数组( ':电子邮件'=> $ _ POST [ 'email'])));如果(!$ record === null) {echo“email exists”; $ ID =用户1 ::模型() - > findByAttributes(阵列( '用户id'=> $ record->用户id)); $ SQID =用户1 ::模型() - > findByAttributes(阵列( 'securityQuestionId'=> $ record-> securityQusetionId)); echo $ sqid;}} bt不工作 –
一次又一次地发布不会帮助你,试着写一些代码。谢谢。 –