প্রজাপতি

রেজিষ্টেশন করার জন্য আপনার নাম দিন

অথবা

Loding.....

হায় ! আমি মাজেদ, ট্রিপল-এম এটা আমার সংক্ষিপ্ত নাম। আমি সব সময় নতুন কিছু শিখার আগ্রহে থাকি কারন আমি তেমন কিছু জানিনা । তার জন্য আমি প্রজাপতিবিডি ডট কম এ একজন এডিটোর হিসাবে আ্ছি । আপনাদেন কাছ থেকে কিছু শিখার আশায় আশা করি আপনারা আমাকে সহযোগিতা করবেন। ধন্যবাদ !

kjdfklsdjfklasdjfkljasdkfjksdfj

যোগদানের তারিখঃ 09, Jun 2013 ইমেইলঃ majad.shohagh@gmail.com    

WordPress Mega Menu Tutorial 11 months Ago, June 5, 2016

যেন নেই কিভাবে CodeIgniter Login এবং Registration Form তৈরী করবেন

লিখেছেনঃ
Loding.....
, February 24, 2017, 7:26 pm ওয়েব ডেভেলপমেন্ট,টিউটোরিয়াল,প্রোগ্রামিং দেখা হয়েছে 259 বার 1 জন 600

এই tutorial এ আমরা দেখাবো কিভাবে  CodeIgniter এ simple login form এবং registration form তৈরী করা যায়। login form এবং registration form করতে যা যা জানা দরকার,  ১। registration module, ২। login module, ৩। admin panel using sessions,

আমাদের যা তৈরী করতে হবে।

  • Create login page, signup page and admin page.
  • Setting up validation to all input field.
  • Check for existing users in database during signup process.
  • Check for username and password in database and show their  information stored in database.
  • Create session for admin panel, store users input data in session and destroy session(logout).

এক নজর দেখে নেই কিভাবে কাজ কর CodeIgniter login Functions

Database Table: user_login

এখন যা করতে হবে  database name ‘login‘ এবং table নাম হবে ‘user_login‘ নিজে কোড দেওয়া হল :-

create database login;
CREATE TABLE IF NOT EXISTS `user_login` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`user_email` varchar(255) NOT NULL,
`user_password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)

Controller: user_authentication.php

file তৈরী করুন এবং ফাইলের নাম দিন ‘user_authentication.php‘ in ‘application/controllers’ folder of CodeIgniter. এবং এই কোড গুলু দিয়ে দিন :-

<?php
session_start(); //we need to start session in order to access it through CI

Class User_Authentication extends CI_Controller {
public function __construct() {
parent::__construct();

// Load form helper library
$this->load->helper('form');

// Load form validation library
$this->load->library('form_validation');

// Load session library
$this->load->library('session');

// Load database
$this->load->model('login_database');
}

// Show login page
public function index() {
$this->load->view('login_form');
}

// Show registration page
public function user_registration_show() {
$this->load->view('registration_form');
}

// Validate and store registration data in database
public function new_user_registration() {

// Check validation for user input in SignUp form
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('email_value', 'Email', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE) {
$this->load->view('registration_form');
} else {
$data = array(
'user_name' => $this->input->post('username'),
'user_email' => $this->input->post('email_value'),
'user_password' => $this->input->post('password')
);
$result = $this->login_database->registration_insert($data);
if ($result == TRUE) {
$data['message_display'] = 'Registration Successfully !';
$this->load->view('login_form', $data);
} else {
$data['message_display'] = 'Username already exist!';
$this->load->view('registration_form', $data);
}
}
}

// Check for user login process
public function user_login_process() {
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE) {
if(isset($this->session->userdata['logged_in'])){
$this->load->view('admin_page');
}else{
$this->load->view('login_form');
}
} else {
$data = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
$result = $this->login_database->login($data);
if ($result == TRUE) {
$username = $this->input->post('username');
$result = $this->login_database->read_user_information($username);
if ($result != false) {
$session_data = array(
'username' => $result[0]->user_name,
'email' => $result[0]->user_email,
);
// Add user data in session
$this->session->set_userdata('logged_in', $session_data);
$this->load->view('admin_page');
}
} else {
$data = array(
'error_message' => 'Invalid Username or Password'
);
$this->load->view('login_form', $data);
}
}
}

// Logout from admin page
public function logout() {

// Removing session data
$sess_array = array(
'username' => ''
);
$this->session->unset_userdata('logged_in', $sess_array);
$data['message_display'] = 'Successfully Logout';
$this->load->view('login_form', $data);
}
}
?>

Views: login_form.php

file তৈরী করুন এবং ফাইলের নাম দিন ‘login_form.php‘ in ‘application/Views’ folder of CodeIgniter. এবং এই কোড গুলু দিয়ে দিন :-

<html>
<?php
if (isset($this->session->userdata['logged_in'])) {
header("location: http://localhost/login/index.php/user_authentication/user_login_process");
}
?>
<head>
<title>Login Form</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>css/style.css">
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro|Open+Sans+Condensed:300|Raleway' rel='stylesheet' type='text/css'>
</head>
<body>
<?php
if (isset($logout_message)) {
echo "<div class='message'>";
echo $logout_message;
echo "</div>";
}
?>
<?php
if (isset($message_display)) {
echo "<div class='message'>";
echo $message_display;
echo "</div>";
}
?>
<div id="main">
<div id="login">
<h2>Login Form</h2>
<hr/>
<?php echo form_open('user_authentication/user_login_process'); ?>
<?php
echo "<div class='error_msg'>";
if (isset($error_message)) {
echo $error_message;
}
echo validation_errors();
echo "</div>";
?>
<label>UserName :</label>
<input type="text" name="username" id="name" placeholder="username"/><br /><br />
<label>Password :</label>
<input type="password" name="password" id="password" placeholder="**********"/><br/><br />
<input type="submit" value=" Login " name="submit"/><br />
<a href="<?php echo base_url() ?>index.php/user_authentication/user_registration_show">To SignUp Click Here</a>
<?php echo form_close(); ?>
</div>
</div>
</body>
</html>

Views: registration_form.php

file তৈরী করুন এবং ফাইলের নাম দিন ‘registration_form.php‘ in ‘application/Views’ folder of CodeIgniter. এবং এই কোড গুলু দিয়ে দিন :-

<html>
<?php
if (isset($this->session->userdata['logged_in'])) {
header("location: http://localhost/login/index.php/user_authentication/user_login_process");
}
?>
<head>
<title>Registration Form</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>css/style.css">
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro|Open+Sans+Condensed:300|Raleway' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="main">
<div id="login">
<h2>Registration Form</h2>
<hr/>
<?php
echo "<div class='error_msg'>";
echo validation_errors();
echo "</div>";
echo form_open('user_authentication/new_user_registration');
echo form_label('Create Username : ');
echo"<br/>";
echo form_input('username');
echo "<div class='error_msg'>";
if (isset($message_display)) {
echo $message_display;
}
echo "</div>";
echo"<br/>";
echo form_label('Email : ');
echo"<br/>";
$data = array(
'type' => 'email',
'name' => 'email_value'
);
echo form_input($data);
echo"<br/>";
echo"<br/>";
echo form_label('Password : ');
echo"<br/>";
echo form_password('password');
echo"<br/>";
echo"<br/>";
echo form_submit('submit', 'Sign Up');
echo form_close();
?>
<a href="<?php echo base_url() ?> ">For Login Click Here</a>
</div>
</div>
</body>
</html>

Views: admin_page.php

file তৈরী করুন এবং ফাইলের নাম দিন ‘admin_page.php‘ in ‘application/Views’ folder of CodeIgniter. এবং এই কোড গুলু দিয়ে দিন :-

<html>
<?php
if (isset($this->session->userdata['logged_in'])) {
$username = ($this->session->userdata['logged_in']['username']);
$email = ($this->session->userdata['logged_in']['email']);
} else {
header("location: login");
}
?>
<head>
<title>Admin Page</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>css/style.css">
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro|Open+Sans+Condensed:300|Raleway' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="profile">
<?php
echo "Hello <b id='welcome'><i>" . $username . "</i> !</b>";
echo "<br/>";
echo "<br/>";
echo "Welcome to Admin Page";
echo "<br/>";
echo "<br/>";
echo "Your Username is " . $username;
echo "<br/>";
echo "Your Email is " . $email;
echo "<br/>";
?>
<b id="logout"><a href="logout">Logout</a></b>
</div>
<br/>
</body>
</html>

Models : login_database.php

file তৈরী করুন এবং ফাইলের নাম দিন ‘login_database‘ in ‘application/Model’ folder of CodeIgniter. এবং এই কোড গুলু দিয়ে দিন :-

<?php
Class Login_Database extends CI_Model {

// Insert registration data in database
public function registration_insert($data) {

// Query to check whether username already exist or not
$condition = "user_name =" . "'" . $data['user_name'] . "'";
$this->db->select('*');
$this->db->from('user_login');
$this->db->where($condition);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 0) {

// Query to insert data in database
$this->db->insert('user_login', $data);
if ($this->db->affected_rows() > 0) {
return true;
}
} else {
return false;
}
}

// Read data using username and password
public function login($data) {
$condition = "user_name =" . "'" . $data['username'] . "' AND " . "user_password =" . "'" . $data['password'] . "'";
$this->db->select('*');
$this->db->from('user_login');
$this->db->where($condition);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 1) {
return true;
} else {
return false;
}
}

// Read data from database to show data in admin page
public function read_user_information($username) {
$condition = "user_name =" . "'" . $username . "'";
$this->db->select('*');
$this->db->from('user_login');
$this->db->where($condition);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 1) {
return $query->result();
} else {
return false;
}
}
}
?>

এবার Design এর জন্য login, admin এবং registration page. আমরা Design করবো css

CSS : style.css

শুধু কোড গুলু বসে দিলেই হবে;-

#main{
width:960px;
margin:50px auto;
font-family:raleway;
}
span{
color:red;
}
h2{
background-color: #FEFFED;
text-align:center;
border-radius: 10px 10px 0 0;
margin: -10px -40px;
padding: 30px;
}
#login{
width:300px;
float: left;
border-radius: 10px;
font-family:raleway;
border: 2px solid #ccc;
padding: 10px 40px 25px;
margin-top: 70px;
}
input[type=text],input[type=password], input[type=email]{
width:99.5%;
padding: 10px;
margin-top: 8px;
border: 1px solid #ccc;
padding-left: 5px;
font-size: 16px;
font-family:raleway;
}
input[type=submit]{
width: 100%;
background-color:#FFBC00;
color: white;
border: 2px solid #FFCB00;
padding: 10px;
font-size:20px;
cursor:pointer;
border-radius: 5px;
margin-bottom: 15px;
}
#profile{
padding:50px;
border:1px dashed grey;
font-size:20px;
background-color:#DCE6F7;
}
#logout{
float:right;
padding:5px;
border:dashed 1px gray;
margin-top: -168px;
}
a{
text-decoration:none;
color: cornflowerblue;
}
i{
color: cornflowerblue;
}
.error_msg{
color:red;
font-size: 16px;
}
.message{
position: absolute;
font-weight: bold;
font-size: 28px;
color: #6495ED;
left: 262px;
width: 500px;
text-align: center;
}


Sign In Process:

signup করার পর সঠিক username এবং password দিয়ে দিলে  লগিন হবে। আর যদি ভূল username এবং password দেন তাহল error message দেখাবে।

এবার যখন আপনি সঠিক username এবং password তাহলে values এ travelled to  user_login_process() function মাধ্যমে controller এসে validation চেক করবে যেখন validation হবে প্রত্যক টা field।

যদি প্রত্যেক টা field valid হয় তবে user_login_process()  function মিলে গিয়ে database এ data সংরক্ষিত হবে।

আর যদি না মিলে তাহলে redirected হয়ে login page চলে যাবে সাথে নিয়ে যাবে error message  ও দেখাবে। এবং যদি সব মিলে যায় তাহরে database থেকে data নিয়ে session রাখবে ।

এরপর এখন সব data পঠান হলো admin page এবং আপনি যখন logout করবেন তখন then logout() function কাজ করবে। এবং session মুছে যাবে এবং redirect হয়ে যাবে login page।

যদি কার কোন জানার থাকে এই কোড গুলুতে আমাকে কোমেন্ট করে যানাবে। ধন্যবাদ

 

 

 

 
 
 
 

Leave a Reply

Your email address will not be published. Required fields are marked *

বিজয়
ইউনিজয়
ফোনেটিক
ইংলিশ