Académique Documents
Professionnel Documents
Culture Documents
ImplementresetpasswordusingCodeIgniter
Programming(/topic/programming) / Php(/topic/Php)
ImplementresetpasswordusingCodeIgniter
5
Share
Stepsandclassesinvolvedin
creatingasimpleforgetpasswordfunctionalityincodeigniterbasedwebapplication.
Sendingnewrandompasswordtotheemail
addressprovidedbyuseriseasyincodeignitor.
Herearethesteps.
1.Gahteremailaddressfromtheuser.
2.Checkonthedatabseiftheuserexistsornot.
3.Ifemailexitscreateonerandompasswordand
emailtotheuser.
4.Savetherandompasswordontheuserstable
oftheselecteduser.
Createcontrollermethod
publicfunctionforget()
if(isset($_GET['info'])){
$data['info']=$_GET['info'];
}
if(isset($_GET['error'])){
$data['error']=$_GET['error'];
}
$this>load>view('loginforget',$data);
ForgetpasswordView
http://classpattern.com/resetpasswordcodeigniter.html
1/4
5/31/2016
ImplementresetpasswordusingCodeIgniter
<divclass="container">
<formclass="formhorizontalwell"method="post"id="form"action="/index.ph
p/login/doforget">
<fieldset>
<legend>Resetpassword</legend>
<divclass="controlgroup">
<labelfor="email">Email</label>
<inputclass="box"type="text"id="email"name="emai
l"/>
</div>
<divclass="formactions">
<inputtype="submit"class="btnbtnprimary"value
="Reset"/>
</div>
<?phpif(isset($info)):?>
<divclass="alertalertsuccess">
<?phpecho($info)?>
</div>
<?phpelseif(isset($error)):?>
<divclass="alertalerterror">
<?phpecho($error)?>
</div>
<?phpendif;?>
</fieldset>
</form>
</div>
Doforgetmethod
publicfunctiondoforget()
$this>load>helper('url');
$email=$_POST['email'];
$q=$this>db>query("select*fromuserswhereemail='".$email."'");
if($q>num_rows>0){
$r=$q>result();
$user=$r[0];
$this>resetpassword($user);
$info="Passwordhasbeenresetandhasbeensenttoemailid:".$e
mail;
redirect('/index.php/login/forget?info='.$info,'refresh');
}
$error="Theemailidyouenterednotfoundonourdatabase";
redirect('/index.php/login/forget?error='.$error,'refresh');
Resetpassword
http://classpattern.com/resetpasswordcodeigniter.html
2/4
5/31/2016
ImplementresetpasswordusingCodeIgniter
privatefunctionresetpassword($user)
date_default_timezone_set('GMT');
$this>load>helper('string');
$password=random_string('alnum',16);
$this>db>where('id',$user>id);
$this>db>update('users',array('password'=>MD5($password)));
$this>load>library('email');
$this>email>from('cantreply@youdomain.com','Yourname');
$this>email>to($user>email);
$this>email>subject('Passwordreset');
$this>email>message('Youhaverequestedthenewpassword,Hereisyounew
password:'.$password);
$this>email>send();
Configuretosendemail.
Insidetheconfigfolder(underapplicationfolder)createoneconfigfilecalledemail.config.Codeigniter
loadstheconfigurationautomaticallywhilesendingemail.
Emailconfiguration
<?phpif(!defined('BASEPATH'))exit('Nodirectscriptaccessallowed');
/*$config['protocol']='sendmail';
$config['mailpath']='/usr/sbin/sendmail';
$config['charset']='iso88591';
$config['wordwrap']=TRUE;
*/
$config['protocol']='smtp';
$config['smtp_host']='ssl://smtp.mailgun.org';
$config['smtp_user']='postmaster@cpatt.mailgun.org';
$config['smtp_pass']='youpassword';
$config['smtp_port']='465';
/*Endoffileconfig.php*/
/*Location:./application/config/config.php*/
5
Search
Likeus
http://classpattern.com/resetpasswordcodeigniter.html
3/4
5/31/2016
ImplementresetpasswordusingCodeIgniter
Likeus
Seealso
Codeingniter:dynamicdefaultcontrollerformultisite(/codeingniterdynamic
defaultcontrollerformultisite.html)
CRUDLtasksoncodeigniter(/crudltasksoncodeigniter.html)
CompletetutorialonhowtocreatesimpleCRUDLformsandactionhandlerson
codeigniter.
Codeigniter:MongoDB(/codeignitermongodb.html)
SETUPMONGODBONCODEGINITERPROJECTEFFECIENTPAGINGMETHODON
MONGODBWITHCODEIGNITER.
Loginredirect:CodeIgniter(/loginredirectcodeigniter.html)
AboutUs(/aboutus.html)|ContactUs(/spage/contactus)|PrivacyPolicy(/privacypolicy.html)|
Copyrightclasspattern.comAllRightsReserved
http://classpattern.com/resetpasswordcodeigniter.html
BackToTop
Versionno:1.1
4/4