Pada artikel ini, kamu akan belajar bagaimana membangun sistem login sederhana dengan CodeIgniter serta database MySQL. Codeigniter adalah Framework MVC PHP yang sangat populer yang menggunakan perpustakaan dan bantuan. Di CodeIgniter, kamu tidak perlu menyesuaikan konfigurasi sistem dan dependensinya.
Sebelum kita mulai, kita perlu mengatur XAMPP pada sistem Anda. XAMPP adalah lingkungan pengembangan PHP. Kamu dapat mengunduh XAMPP dari https://www.apachefriends.org/download.html dan menginstalnya di sistem.
Jika di komputer kamu belum terinstall CodeIgniter, kamu bisa mendownloadnya di https://codeigniter.com/download. Install aplikasinya jika sudah selesai kamu download. Dan kita sudah siap membuat Login Form menggunakan CodeIgniter.
Baca Juga : Pentingnya Fragment Dalam React JS
1. Membuat Database
Buka http: // localhost / phpmyadmin / dan buat database dengan nama login system. Buka SQL editor di PHPMyAdmin, tambahkan query di bawah dan jalankan :
CREATE TABLE `user` (
`user_id` int(11) NOT NULL,
`user_name` varchar(50) NOT NULL,
`user_email` varchar(50) NOT NULL,
`user_password` varchar(50) NOT NULL,
`user_age` int(11) NOT NULL,
`user_mobile` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Dan masukan data seperti berikut :
INSERT INTO `user` (`user_id`, `user_name`, `user_email`, `user_password`, `user_age`, `user_mobile`) VALUES
(1, ‘sham’, ‘sham@gmail.com’, ‘1234’, 34, 3327843312),
(2, ‘Ehte’, ‘ehte@gmail.com’, ‘123’, 23, 7837687647),
2. Menghilangkan Index.php dari URL CodeIgniter
Ubah konfigurasi CodeIgniter, buka folder C: \ xampp \ htdocs \ codeigniter dan buat file dengan ekstensi .htaccess dan tambahkan kode di bawah ini lalu save.
RewriteEngine on
RewriteBase /codeigniter
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Baca Juga : Fetching Data Application Programming Interface (API) pada React JS
3. Membuat User Controller
Buat Controller untuk sistem login dengan Pergi ke C: \ xampp \ htdocs \ codeigniter \ application \ controllers folder dan buat file User.php dan tambahkan kode yang diberikan di bawah ini.
<?php
class User extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->helper(‘url’);
$this->load->model(‘user_model’);
$this->load->library(‘session’);
}
public function index()
{
$this->load->view(“register.php”);
}
public function register_user(){
$user=array(
‘user_name’=>$this->input->post(‘user_name’),
‘user_email’=>$this->input->post(‘user_email’),
‘user_password’=>md5($this->input->post(‘user_password’)),
‘user_age’=>$this->input->post(‘user_age’),
‘user_mobile’=>$this->input->post(‘user_mobile’)
);
print_r($user);
$email_check=$this->user_model->email_check($user[‘user_email’]);
if($email_check){
$this->user_model->register_user($user);
$this->session->set_flashdata(‘success_msg’, ‘Registered successfully.Now login to your account.’);
redirect(‘user/login_view’);
}
else{
$this->session->set_flashdata(‘error_msg’, ‘Error occured,Try again.’);
redirect(‘user’);
}
}
public function login_view(){
$this->load->view(“login.php”);
}
function login_user(){
$user_login=array(
‘user_email’=>$this->input->post(‘user_email’),
‘user_password’=>md5($this->input->post(‘user_password’))
);
//$user_login[‘user_email’],$user_login[‘user_password’]
$data[‘users’]=$this->user_model->login_user();
// if($data)
//{
$this->session->set_userdata(‘user_id’,$data[‘users’][0][‘user_id’]);
$this->session->set_userdata(‘user_email’,$data[‘users’][0][‘user_email’]);
$this->session->set_userdata(‘user_name’,$data[‘users’][0][‘user_name’]);
$this->session->set_userdata(‘user_age’,$data[‘users’][0][‘user_age’]);
$this->session->set_userdata(‘user_mobile’,$data[‘users’][0][‘user_mobile’]);
echo $this->session->set_userdata(‘user_id’);
$this->load->view(‘user_profile.php’,$data);
// }
// else{
// $this->session->set_flashdata(‘error_msg’, ‘Error occured,Try again.’);
// $this->load->view(“login.php”);
// }
}
function user_profile(){
$this->load->view(‘user_profile.php’);
}
public function user_logout(){
$this->session->sess_destroy();
redirect(‘user/login_view’, ‘refresh’);
}
}
?>
Baca Juga :
- Panduan Lengkap : Apa itu React JS dan Kelebihannya Untuk Desainer Aplikasi!
- Pengertian State dan Lifecycle pada React JS
4. Membuat Model User untuk Login Registration
Untuk membuat model untuk login pengguna, buka folder C: \ xampp \ htdocs \ codeigniter \ application \ models dan buat file User_model.php dan tambahkan kode di bawah ini.
<?php
class User_model extends CI_model{
public function register_user($user){
$this->db->insert(‘user’, $user);
}
public function login_user(){
//$email,$pass
$this->db->select(‘*’);
$this->db->from(‘user’);
// $this->db->where(‘user_email’,$email);
// $this->db->where(‘user_password’,$pass);
if($query=$this->db->get())
{
return $query->result_array();
}
else{
return false;
}
}
public function email_check($email){
$this->db->select(‘*’);
$this->db->from(‘user’);
$this->db->where(‘user_email’,$email);
$query=$this->db->get();
if($query->num_rows()>0){
return false;
}else{
return true;
}
}
}
?>
<?php
class User_model extends CI_model{
public function register_user($user){
$this->db->insert(‘user’, $user);
}
public function login_user(){
//$email,$pass
$this->db->select(‘*’);
$this->db->from(‘user’);
// $this->db->where(‘user_email’,$email);
// $this->db->where(‘user_password’,$pass);
if($query=$this->db->get())
{
return $query->result_array();
}
else{
return false;
}
}
public function email_check($email){
$this->db->select(‘*’);
$this->db->from(‘user’);
$this->db->where(‘user_email’,$email);
$query=$this->db->get();
if($query->num_rows()>0){
return false;
}else{
return true;
}
}
}
?>
Baca Juga : Cara Penulisan Code Dasar Pada Program React JS
5. Membuat View User
Dalam langkah ini, kita membuat halaman tampilan untuk login, registrasi dan profil pengguna. Dalam folder C: \ xampp \ htdocs \ codeigniter \ application \ views, buat 3 file dengan nama ‘register.php’, ‘user_profile.php’, dan ‘login.php’.
Buka file register.php dan tambahkan kode di bawah ini:
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>Login Registration</title>
<link rel=”stylesheet” href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css” media=”screen” title=”no title”>
</head>
<body>
<span style=”background-color:red;”>
<div class=”container”><!– container class is used to centered the body of the browser with some decent width–>
<div class=”row”><!– row class is used for grid system in Bootstrap–>
<div class=”col-md-4 col-md-offset-4″><!–col-md-4 is used to create the no of colums in the grid also use for medimum and large devices–>
<div class=”login-panel panel panel-success”>
<div class=”panel-heading”>
<h3 class=”panel-title”>Please do Registration here</h3>
</div>
<div class=”panel-body”>
<?php
$error_msg=$this->session->flashdata(‘error_msg’);
if($error_msg){
echo $error_msg;
}
?>
<form role=”form” method=”post” action=”<?php echo base_url(‘user/register_user’); ?>”>
<fieldset>
<div class=”form-group”>
<input class=”form-control” placeholder=”Please enter Name” name=”user_name” type=”text” autofocus>
</div>
<div class=”form-group”>
<input class=”form-control” placeholder=”Please enter E-mail” name=”user_email” type=”email” autofocus>
</div>
<div class=”form-group”>
<input class=”form-control” placeholder=”Enter Password” name=”user_password” type=”password” value=””>
</div>
<div class=”form-group”>
<input class=”form-control” placeholder=”Enter Age” name=”user_age” type=”number” value=””>
</div>
<div class=”form-group”>
<input class=”form-control” placeholder=”Enter 10 diMobile No” name=”user_mobile” type=”number” value=””>
</div>
<input class=”btn btn-lg btn-success btn-block” type=”submit” value=”Register” name=”register” >
</fieldset>
</form>
<center><b>You have Already registered ?</b> <br></b><a href=”<?php echo base_url(‘user/login_view’); ?>”> Please Login</a></center><!–for centered text–>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>
Di file login.php, tambahkan kode berikut:
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>Login-CI Login Registration</title>
<link rel=”stylesheet” href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css” media=”screen” title=”no title”>
</head>
<body>
<div class=”container”>
<div class=”row”>
<div class=”col-md-4 col-md-offset-4″>
<div class=”login-panel panel panel-success”>
<div class=”panel-heading”>
<h3 class=”panel-title”>Please do Login here</h3>
</div>
<?php
$success_msg= $this->session->flashdata(‘success_msg’);
$error_msg= $this->session->flashdata(‘error_msg’);
if($success_msg){
?>
<div class=”alert alert-success”>
<?php echo $success_msg; ?>
</div>
<?php
}
if($error_msg){
?>
<div class=”alert alert-danger”>
<?php echo $error_msg; ?>
</div>
<?php
}
?>
<div class=”panel-body”>
<form role=”form” method=”post” action=”<?php echo base_url(‘user/login_user’); ?>”>
<fieldset>
<div class=”form-group” >
<input class=”form-control” placeholder=”Enter E-mail” name=”user_email” type=”email” autofocus>
</div>
<div class=”form-group”>
<input class=”form-control” placeholder=”Enter Password” name=”user_password” type=”password” value=””>
</div>
<input class=”btn btn-lg btn-success btn-block” type=”submit” value=”login” name=”login” >
</fieldset>
</form>
<center><b>You are not registered ?</b> <br></b><a href=”<?php echo base_url(‘user’); ?>”>Register here</a></center><!–for centered text–>
</div>
</div>
</div>
</div>
</div>
</body>
Dan didalam file User_profile.php masukan code dibawah ini :
<?php
$user_id= $this->session->userdata(‘user_id’);
if(!$user_id){
// redirect(‘user/login_view’);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>User Profile Dashboard-CodeIgniter Login Registration</title>
<link rel=”stylesheet” href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css”>
</head>
<body>
<div class=”container”>
<div class=”row”>
<div class=”col-md-4″>
<table class=”table table-bordered table-striped”>
<tr>
<th colspan=”2″><h4 class=”text-center”>Users Details</h3></th>
</tr>
<?php foreach($users as $key => $val){ ?>
<tr>
<td>User Name</td>
<td><?php echo $val[‘user_name’]; /*$this->session->userdata(‘user_name’);*/ ?></td>
</tr>
<tr>
<td>User Email</td>
<td><?php echo $val[‘user_email’]; /*$this->session->userdata(‘user_email’);*/ ?></td>
</tr>
<tr>
<td>User Age</td>
<td><?php echo $val[‘user_age’]; /*$this->session->userdata(‘user_age’);*/ ?></td>
</tr>
<tr>
<td>User Mobile</td>
<td><?php echo $val[‘user_mobile’]; /*$this->session->userdata(‘user_mobile’);*/ ?></td>
</tr>
<tr> <td style=”padding-top: 20px;”> </td></tr>
<?php } ?>
</table>
</div>
</div>
<a href=”<?php echo base_url(‘user/user_logout’);?>” > <button type=”button” class=”btn-primary”>Logout</button></a>
</div>
</body>
</html>
Simpan file kamu dan buka browser dan ketik http: // localhost / codeigniterproject / user. kamuakan melihat halaman daftar. Setelah kamu menyelesaikan proses registrasi dan masuk ke aplikasi, Kamu akan melihat detail pengguna dan secara bersamaan info pengguna akan ditambahkan ke database kamu.
Baca Juga : Pentingnya JSX Dalam Membangun Aplikasi React
kamu dapat melihat output halaman Pendaftaran di bawah ini:
Output Menu Login :
Output Page User Detail :
Berikutnya Baca : Konsep Arsitektur MVC pada CodeIgniter
Sumber :blog.eduonix.com
[…] Cara membuat Login Form […]
[…] Cara membuat Login Form […]
[…] Cara membuat Login Form […]
[…] Cara membuat Login Form […]
[…] Baca Juga : Cara membuat Login Form […]
[…] Baca Juga : Cara membuat Login Form […]
[…] Baca Juga : Cara membuat Login Form […]
Artikel ini mudah dipahami karena artikel disini sangat terstruktur dengan rapi
[…] Baca Juga : Cara membuat Login Form […]