Php Code igniter Login and Registration Form
This tutorial will covered how to create a login and registration system. this system use developed php, mysql using code-igniter framework .
The database will require a table to store the usermaster, create a table called usermaster:
CREATE TABLE `usermaster`
( `User_Id` int(10) NOT NULL AUTO_INCREMENT,
`User_Name` varchar(100) NOT NULL ,`User_Email` varchar(100) NOT NULL,
`User_Mobile` bigint(11) NOT NULL, `User_Password` varchar(100) NOT NULL,
`User_Photo` text NOT NULL,`User_Date` date NOT NULL,
`User_Status` int(10) NOT NULL,PRIMARY KEY(`User_Id`), UNIQUE(`User_Email`),
UNIQUE(`User_Mobile`))ENGINE=MyISAM DEFAULT CHARSET=latin1;
CONTROLLER:
This controller class using access to very easily to access and pass data.
Welcome.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index(){
if($this->session->userdata('Id') != "")
{
redirect('welcome/home');
}
Else {
$this->load->library('session');
$this->load->library('form_validation');
$this->form_validation->set_rules('emailid','Username','trim|required');
$this->form_validation->set_rules('password','Password','trim|required');
if($this->form_validation->run()==false) {
$this->load->view('login/index');
}
else {
$this->db->select('*');
$this->db->where('User_Status', 1);
$query = $this->db->get('usermaster');
$row = $query->row();
$pass = md5($this->input->post('password'));
$data1 = array('Id' => $row->User_Id,'Name'=>$row->User_Name,'Mobile'=>$row->User_Mobile,'Photo'=>$row->User_Photo,'Email'=>$row->User_Email);
$session= $this->session->set_userdata($data1);
if($row->User_Email==$this->input->post('emailid')) && ($row->User_Password==$pass)) {
redirect('welcome/home/dashboard?m=Login Successfully ...!');
}else{
redirect('welcome?m1=Username & Password is Wrong');
} } } }
public function home() {
if($this->session->userdata('Id') == "") {
redirect('welcome');
} else {
$this->load->view('login/home');
} }
public function logout() {
$this->session->sess_destroy();
redirect('welcome');
}
public function photos() {
$id = $this->input->get('id');
$this->db->where('User_Email',$id);
$this->db->where('User_Status',1);
$row = $this->db->get('usermaster')->row();
if($row) {
echo $row->User_Photo;
} else {
echo "0";
} }
public function register() {
if($this->session->userdata('Id') != "")
{
redirect('welcome/home');
} else {
$this->load->library('session');
$this->load->library('form_validation');
$this->form_validation->set_rules('registerEmail','Username','trim|required');
$this->form_validation->set_rules('registerPassword','Password','trim|required');
$this->form_validation->set_rules('firstName','First Name','trim|required');
$this->form_validation->set_rules('registerMobile','Mobile No','trim|required');
if($this->form_validation->run()==false) {
$this->load->view('login/index');
} else {
$this->load->model('master_model');
if($this->master_model->create_register()) { {
redirect('welcome?m=Created Successfully..!');
} else {
redirect('welcome?m1=Not Created Successfully..!');
}
} } }
public function forgottenpassword() {
$emailid = $this->input->post('forgetEmail');
$this->db->where('User_Email',$emailid);
$this->db->where('User_Status',1);
$row = $this->db->get('usermaster')->row();
$email_config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.esec.in',
'smtp_port' => '25',
'smtp_user' => 'info@esec.in',
'smtp_pass' => 'Success999#',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE,
'crlf' => '\r\n',
'starttls' => true,
'newline' => "\r\n"
);
$msg = "<p>Your register Email Id : ".$emailid."</p>";
$msg .= "<p>Please click link here to confirm your registration.</p>";
$msg .= "<h1><a href='".base_url()." welcome/forgottenpasswordapproval/
".$row->User_Id."' >Change Password To Click</a></h1>";
$subject='Forgotten Password';
$this->load->library('email', $email_config);
$this->email->from('info@esec.in', 'Forgotten Password');
$this->email->to($emailid);
$this->email->subject($subject);
$this->email->message($msg);
if($this->email->send()) {
redirect('welcome?m1=Sending Email Successfully..!');
} else {
redirect('welcome?m1=Sending Email Successfully..!');
} }
public function forgottenpasswordapproval($id) {
$data['id']= $id;
$this->load->view('login/forgettenpassword',$data);
}
public function forgottenpasswordapprovalprocess($id) {
$ForgettenPassword = $this->input->post('registerPassword');
$data= array(
'User_Password'=>MD5($ForgettenPassword),
'User_Status'=>1);
$this->db->where('User_Id',$id);
$sql = $this->db->update('usermaster',$data);
if($sql) {
redirect('welcome?m=Created Successfully..!');
} else {
redirect('welcome');
} } } ?>
VIEWS:
Index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learnoops Login</title>
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/login/css/bootstrap.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.min.css" />
<link href='http://fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css' />
<!-- <link rel="stylesheet" href="/css/lib/bootstrap-responsive.min.css"> -->
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/login/css/main.css" />
<script src="<?php echo base_url(); ?>assets/login/js/jquery.min.js"></script>
<script src="<?php echo base_url(); ?>assets/login/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
$("#emailid").change(function () {
var search=$("#emailid").val();
var dataString = 'id='+search;
$.ajax({
type:'GET',
url:'<?php echo base_url();?>welcome/photos',
data:dataString,
dataType:'html',
cache:false,
success:function(todo) {
if(todo != 0) {
gravatar = '<?php echo base_url(); ?>upload/user/' + todo;
$('.apollo-image').css('backgroundImage', 'none');
$('.apollo-image').css('background-repeat', 'no-repeat');
$('<img />').attr('src', gravatar).imagesLoaded(function(){
$('.apollo-image').css('backgroundImage', 'url(' + gravatar + ')');
});
}
else {
alert("This Email Not Register");
$("#emailid").val("");
$("#emailid").focus();
} } }); });
$("#emailid").change(function () {
var search=$("#emailid").val();
var dataString = 'id='+search;
$.ajax({
type:'GET',
url:'<?php echo base_url();?>welcome/photos',
data:dataString,
dataType:'html',
cache:false,
success:function(todo) { if(todo != 0) {
gravatar = '<?php echo base_url(); ?>upload/user/' + todo;
$('.apollo-image').css('backgroundImage', 'none');
$('.apollo-image').css('background-repeat', 'no-repeat');
$('<img />').attr('src', gravatar).imagesLoaded(function(){
$('.apollo-image').css('backgroundImage', 'url(' + gravatar + ')');
}); }
Else {
alert("This Email Not Register");
$("#emailid").val("");
$("#emailid").focus();
} } }); });
$("#forgetEmail").change(function () {
var search=$("#forgetEmail").val();
var dataString = 'id='+search;
$.ajax({
type:'GET',
url:'<?php echo base_url();?>welcome/photos',
data:dataString,
dataType:'html',
cache:false,
success:function(todo) {
if(todo != 0) {
gravatar = '<?php echo base_url(); ?>upload/user/' + todo;
$('.apollo-image').css('backgroundImage', 'none');
$('.apollo-image').css('background-repeat', 'no-repeat');
$('<img />').attr('src', gravatar).imagesLoaded(function(){
$('.apollo-image').css('backgroundImage', 'url(' + gravatar + ')');
}); }
Else {
alert("This Email Not Register");
$("#forgetEmail").val("");
$("#forgetEmail").focus();
} }
}); }); });
</script>
</head>
<body>
<div class="apollo">
<div class="apollo-container clearfix">
<div class="apollo-facebook">
<div class="apollo-image"></div>
</div>
<!-- id="apollo-register-form" -->
<div class="apollo-register">
<form class="form-signin" action="<?php echo base_url(); ?>welcome/register" method="POST" enctype="multipart/form-data">
<div class="form-group">
<input type="text" value="" id="registerEmail" name="registerEmail" class="form-control email" placeholder="Email address"/>
</div>
<div class="form-group">
<input type="password" value="" name="registerPassword" name="registerPassword" class="form-control" placeholder="Password"/>
</div>
<div class="form-group">
<input type="password" value="" name="registerCPassword" name="registerCPassword" class="form-control" placeholder="Confirm password"/>
</div>
<p class="apollo-seperator"> about you </p>
<div class="form-group">
<input type="text" value="" class="form-control" id="firstName" name="firstName" placeholder="First name"/>
</div>
<div class="form-group">
<input type="text" value="" class="form-control" id="lastName" name="lastName" placeholder="Last name"/>
</div>
<div class="form-group">
<input type="text" value="" id="registerMobile" name="registerMobile" class="form-control mobile" placeholder="Mobile No"/>
</div>
<div class="form-group">
<input type="file" id="registerPhoto" name="registerPhoto" class="form-control mobile" placeholder="Select Photo"/>
</div>
<button class="btn btn-lg btn-block btn-primary" type="submit">Register</button>
</form>
<p class="apollo-back"> <a href="#"><i class="icon-arrow-left"></i> back to login</a> </p>
</div>
<div class="apollo-login">
<!-- id="apollo-login-form" -->
<form class="form-signin" action="<?php echo base_url(); ?>welcome" method="POST">
<div class="form-group">
<input type="text" value="" name="emailid" id="emailid" class="form-control email" placeholder="Email address"/>
</div>
<div class="form-group">
<input type="password" value="" name="password" id="password" class="form-control" placeholder="Password"/>
</div>
<button class="btn btn-lg btn-signin btn-block" type="submit">Sign in</button>
</form>
<!--
<p class="apollo-seperator"> @ </p>
<button class="btn btn-block btn-facebook btn-lg">Connect with <strong>Facebook</strong></button>
-->
<p class="apollo-register-account"> <a href="#" class="register-link">Need an account? <strong>Register here </strong>
<i class="icon-arrow-right"></i></a><br/><a href="#" class="password-link"><small>Forgot your password?</small></a> </p>
<p class="apollo-change-account"> <a href="#">
<i class="icon-arrow-left"></i><strong>Not you?</strong> Sign in as a different user</a> </p>
</div>
<!-- id="apollo-forgotten-password-form" -->
<div class="apollo-forgotten-password">
<form class="form-signin" action="<?php echo base_url(); ?>welcome/forgottenpassword" method="POST">
<div class="form-group">
<input type="text" value="" class="form-control email" name="forgetEmail" id="forgetEmail" placeholder="Email address"/>
</div>
<button class="btn btn-lg btn-block btn-primary" type="submit">Reset password</button>
</form>
<p class="apollo-back"> <a href="#"><i class="icon-arrow-left"></i> back to login</a> </p>
</div>
<div class="apollo-logging-in">
<h2>Welcome back<span class="user-name"></span>!</h2>
<p><strong>Please wait whilst we securely log you in…</strong></p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus dignissim enim suscipit massa ornare rutrum.</p>
</div>
<div class="apollo-registering">
<h2>Thanks<span class="user-name"></span>!</h2>
<p><strong>We've sent you an activation email, blah blah...</strong></p>
<p>Nullam ac erat nunc. Donec in orci purus, vel tempor tortor. Integer tincidunt ipsum sed ipsum scelerisque malesuada.</p>
</div>
<div class="apollo-password-reset">
<h2>Check your email</h2>
<p><strong>We've sent you a link, blah blah...</strong></p>
<p>Nullam ac erat nunc. Donec in orci purus, vel tempor tortor. Integer tincidunt ipsum sed ipsum scelerisque malesuada.</p>
</div>
</div>
</div>
<img />
<script src="<?php echo base_url(); ?>assets/login/js/images.js"></script>
<script src="<?php echo base_url(); ?>assets/login/js/main.js"></script>
<script>
$(function(){
$('[name="optionsRadios"]').change(function(){
if($(this).val() == 'yes'){
window.location.href="/?hasAccount"
}
else {
window.location.href = '/';
} }); });
</script>
</body>
</html>
forgettenpassword.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learnoops Login</title>
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/login/css/bootstrap.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.min.css" />
<link href='http://fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css' />
<!-- <link rel="stylesheet" href="/css/lib/bootstrap-responsive.min.css"> -->
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/login/css/main.css" />
<script src="<?php echo base_url(); ?>assets/login/js/jquery.min.js"></script>
<script src="<?php echo base_url(); ?>assets/login/js/bootstrap.min.js"></script>
</head>
<body>
<div class="apollo">
<div class="apollo-container clearfix">
<div class="apollo-facebook">
<div class="apollo-image"></div>
</div>
<div class="apollo-login">
<form class="form-signin" action="<?php echo base_url(); ?>welcome/forgottenpasswordapprovalprocess/<?php echo $id; ?>"
method="POST" enctype="multipart/form-data">
<div class="form-group">
<input type="password" value="" name="registerPassword" name="registerPassword" class="form-control" placeholder="Password"/>
</div>
<div class="form-group">
<input type="password" value="" name="registerCPassword" name="registerCPassword" class="form-control" placeholder="Confirm password"/>
</div>
<button class="btn btn-lg btn-block btn-primary" type="submit">Submit</button>
</form>
</div>
</div>
</div>
<img />
<script src="<?php echo base_url(); ?>assets/login/js/images.js"></script>
<script src="<?php echo base_url(); ?>assets/login/js/main.js"></script>
<script>
$(function(){
$('[name="optionsRadios"]').change(function(){
if($(this).val() == 'yes'){
window.location.href="/?hasAccount"
}
else {
window.location.href = '/';
}
});
})
</script>
</body>
</html>
MODEL:
Master_model.php
<?php
class Master_model extends CI_Model {
public function create_register() {
$dates =date('Y-m-d');
$registerEmail = $this->input->post('registerEmail');
$registerPassword = $this->input->post('registerPassword');
$firstName = $this->input->post('firstName');
$lastName = $this->input->post('lastName');
$registerMobile = $this->input->post('registerMobile');
$registerPhoto = $this->input->post('registerPhoto');
$fullname = $firstName." ".$lastName;
$this->load->library('upload');
$config['upload_path'] = './upload/user/';
$config['allowed_types'] = 'jpg|jpeg|png|gif';
$config['max_size'] = '1000000';
$images='';
$this->upload->initialize($config);
if(!empty($_FILES['registerPhoto']['name'])) {
if($this->upload->do_upload('registerPhoto')) {
$data = $this->upload->data();
$images = $data['file_name'];
} else {
$this->upload->display_errors();
} }
$data= array(
'User_Name'=>$fullname,
'User_Email'=>$registerEmail,
'User_Mobile'=>$registerMobile,
'User_Password'=>MD5($registerPassword),
'User_Photo'=>$images,
'User_Date'=>$dates,
'User_Status'=>1);
$sql = $this->db->insert('usermaster',$data);
if($sql)
return true;
else
return false;
} } ?>
No comments:
Post a Comment