Vous êtes sur la page 1sur 4

5/31/2016

ImplementresetpasswordusingCodeIgniter

Programming(/topic/programming) / Php(/topic/Php)

ImplementresetpasswordusingCodeIgniter
5

Share

+5 Share this on Google+

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

Vous aimerez peut-être aussi