Type something and hit enter

By On
advertise here

Dalam tutorial ini, mari kita lihat bagaimana kita dapat mengimplementasikan otentikasi menggunakan form login standar dengan penanganan sesi. Sebagian besar situs web akan memiliki skrip login untuk menyediakan otentikasi pengguna. Saya akan menyajikan contoh kode PHP untuk mengimplementasikan otentikasi menggunakan skrip login.Dengan autentikasi, kami dapat melindungi situs web kami dengan memfilter pengguna asli.
Ada berbagai cara untuk menerapkan otentikasi dan cara yang paling populer adalah menggunakan formulir login dan mengotentikasi berdasarkan nama pengguna dan kata sandi yang terkait. Otentikasi baru-baru ini menggunakan OTP yang dihasilkan secara dinamis juga menjadi norma dan kita akan melihat tentang itu dalam tutorial yang akan datang.
Dalam tutorial ini, kami menyimpan kredensial otentikasi dalam database.Kami akan menampilkan formulir masuk untuk memasukkan kredensial masuk. Kami membandingkan data yang dimasukkan dengan basis data pengguna. Jika kecocokan ditemukan, maka pengguna dianggap sebagai terotentikasi. Kami menggunakan sesi PHP untuk mempertahankan status login pengguna yang telah diautentikasi. Dalam tutorial sebelumnya, kami telah melihat tentang login melalui pengiriman formulir dan juga melalui panggilan AJAX .

Sesi Login PHP

Kami membiarkan pengguna mengirimkan kredensial masuk mereka pada formulir dan membandingkannya dengan basis data pengguna. Jika kecocokan ditemukan, maka kami mengotentikasi pengguna dan menyimpan status login mereka dengan menggunakan $ _SESSION “ super global” .Misalnya, $ _SESSION ["member_id"], $ _SESSION ["display_name"]. Status login ini akan dipertahankan sampai logout pengguna. Setelah pengguna mengklik tautan keluar, kami mengosongkan sesi dengan menggunakan PHP unset () .

Antarmuka User Login

Pertama, kita perlu membuat antarmuka masuk untuk memungkinkan pengguna mengirimkan informasi otentikasi. Ini menunjukkan bidang input nama pengguna dan kata sandi dalam formulir. Saat mengirimkan formulir ini, kami memposting nilai ke PHP. Kode HTML dan CSS adalah sebagai berikut.
  <form action = "" method = "post" id = "frmLogin">
  <div class = "error-message"> <? php if (isset ($ message)) {echo $ message;  }?> </ div> 
  <div class = "field-group">
   <div> <label untuk = "login"> Nama pengguna </ label> </ div>
   <div> <input name = "user_name" ketik = "text" class = "input-field"> </ div>
  </ div>
  <div class = "field-group">
   <div> <label for = "password"> Kata Sandi </ label> </ div>
   <div> <input name = "password" ketik = "password" class = "input-field"> </ div>
  </ div>
  <div class = "field-group">
   <div> <input type = "submit" name = "login" value = "Login" class = "form-submit-button"> </ span> </ div>
  </ div>       
 </ form> 
dan gayanya,
  #frmLogin { 
  padding: 20px 60px;
  latar belakang: # B6E0FF;
  warna: # 555;
  display: inline-block;
  border-radius: 4px; 
 }
 .field-group { 
  margin: 15px 0px; 
 }
 .input-field {
  padding: 8px; width: 200px;
  border: # A3C3E7 1px solid;
  border-radius: 4px; 
 }
 .form-submit-button {
  latar belakang: # 65C370;
  batas: 0;
  padding: 8px 20px;
  border-radius: 4px;
  warna: #FFF;
  text-transform: huruf besar; 
 }
 .member-dashboard {
  padding: 40px;
  latar belakang: # D2EDD5;
  warna: # 555;
  border-radius: 4px;
  display: inline-block;
  text-align: center; 
 }
 .logout-button {
  warna: # 09F;
  teks-dekorasi: tidak ada;
  latar belakang: tidak ada;
  border: none;
  padding: 0px;
  kursor: penunjuk;
 }
 .pesan eror {
  text-align: center;
  warna: # FF0000;
 }
 .demo-konten label {
  lebar: otomatis;
 }

Skrip Login PHP

Kami menerima data formulir login di halaman PHP sebagai permintaan posting . Dalam skrip ini, kami menghasilkan kueri SELECT untuk memvalidasi data pengguna dengan database. Jika pengguna berhasil diautentikasi, maka kami menambahkan status pengguna yang masuk dalam sesi dan menunjukkan pesan sukses dengan opsi keluar ke pengguna. Skrip login PHP adalah,
  <? php
 session_start ();
 $ conn = mysqli_connect ("localhost", "root", "", "phppot_examples");
 
 $ message = "";
 if (! empty ($ _ POST ["login"])) {
  $ result = mysqli_query ($ conn, "SELECT * FROM users WHERE user_name = '". $ _POST ["user_name"]. "' dan kata sandi = '". $ _POST ["kata sandi"]. "'");
  $ row = mysqli_fetch_array ($ hasil);
  if (is_array ($ row)) {
  $ _SESSION ["user_id"] = $ row ['user_id'];
  } lain {
  $ message = "Nama Pengguna atau Kata Sandi Tidak Valid!";
  }
 }
 ?>
Kita dapat menambahkan kode ini pada halaman yang sama di atas konten HTML atau kita dapat menyimpannya sebagai file PHP individu seperti login.php dan menambahkannya untuk membentuk aksi.
Kode untuk menampilkan pesan sukses kepada pengguna ada di bagian lain dan kode adalah,
  <? php 
 } lain { 
 $ result = mysqlI_query ($ conn, "SELECT * FROM users WHERE user_id = '". $ _SESSION ["phppot_demopage_459_user_id"]. "'");
 $ row = mysqli_fetch_array ($ hasil);
 ?>
 <form action = "" method = "post" id = "frmLogout">
 <div class = "member-dashboard"> Selamat datang <? php echo ucwords ($ row ['display_name']);  ?>, Anda telah berhasil masuk! <br>
 Klik untuk <input type = "submit" name = "logout" value = "Logout" class = "logout-button">. </ Div>
 </ form>
 </ div>
 </ div>
 <? php}?>
"Pesan selamat datang" akan ditampilkan bersama pengguna yang masuk dengan nama mereka dan tautan untuk keluar untuk menghapus sesi masuk pengguna.
Dan kode untuk keluar adalah,
  <? php
 if (! empty ($ _ POST ["logout"])) {
  $ _SESSION ["user_id"] = "";
  session_destroy ();
 }
 ?>


Tutorial kode PHP ini diterbitkan pada 22 Juli 2013.




Click to comment