在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不工作 –
一次又一次地發佈不會幫助你,試着寫一些代碼。謝謝。 –