Table of contents
Selamat malam, pada posting kali ini saya akan melanjutkan seri Membuat Website Professional dengan PHP & MySql yang sudah sampai ke PART #9. Part 9 ini akan membahas pembuatan fitur Ubah Password seperti yang sudah saya janjikan di Membuat Website Professional dengan PHP & MySql - PART #5 : Membuat Halaman Profile Admin & Integrasi Gravatar. Bagi yang baru mengikuti posting ini, silahkan lihat posting-posting sebelumnya.
- Membuat Website Professional dengan PHP & MySql - PART #1 : Pengertian Dasar & Tools
- Membuat Website Professional dengan PHP & MySql - PART #2 : Setup Database, Table & Hirarki Folder
- Membuat Website Professional dengan PHP & MySql - PART #3 : Membuat Login Admin & Dashboard
- Membuat Website Professional dengan PHP & MySql - PART #4 : Customized Login Admin & Dashboard
- Membuat Website Professional dengan PHP & MySql - PART #5 : Membuat Halaman Profile Admin & Integrasi Gravatar
- Membuat Website Professional dengan PHP & MySql - PART #6 : Manajemen Halaman
- Membuat Website Professional dengan PHP & MySql - PART #7 : Manajemen Kategori
- Membuat Website Professional dengan PHP & MySql - PART #8 : Manajemen Post
#1 Membuat Halaman Profile Password
- Hidupkan XAMPP anda.
- Buat file php baru dan beri nama profile-password.php dan simpan di dalam folder admin.
- Copy kode berikut dan simpan
Didalam script kode php tersebut sudah saya sisipkan keterangan dan alur prosesnya, semoga dapat dimengerti.<?php // menghubungkan dengan koneksi include "../config/koneksi.php"; // mengaktifkan session php session_start(); if($_SESSION['status'] !="login"){ header("location:../"); } //proses jika tombol rubah di klik if (isset($_POST['password_lama'])){ //membuat variabel untuk menyimpan data inputan yang di isikan di form $password_lama = $_POST['password_lama']; $password_baru = $_POST['password_baru']; $ulangi_password = $_POST['ulangi_password']; //cek dahulu ke database dengan query SELECT //kondisi adalah WHERE (dimana) kolom password adalah $password_lama di encrypt m5 //encrypt -> md5($password_lama) $password_lama_md5 = md5($password_lama); $cek = mysqli_query($koneksi, "SELECT password FROM user WHERE password='$password_lama_md5'"); if($cek->num_rows){ //kondisi ini jika password lama yang dimasukkan sama dengan yang ada di database //membuat kondisi minimal password adalah 5 karakter if(strlen($password_baru) >= 5){ //jika password baru sudah 5 atau lebih, maka lanjut ke bawah //membuat kondisi jika password baru harus sama dengan konfirmasi password if($password_baru == $ulangi_password){ //jika semua kondisi sudah benar, maka melakukan update kedatabase //query UPDATE SET password = encrypt md5 password_baru //kondisi WHERE id user = session id pada saat login, maka yang di ubah hanya user dengan id tersebut $password_baru = md5($password_baru); $id_user = $_POST['id']; $update = mysqli_query($koneksi, "UPDATE user SET password='$password_baru' WHERE id='$id_user'"); if($update){ //kondisi jika proses query UPDATE berhasil ?><script> alert ("Password berhasil di rubah"); </script><?php }else{ //kondisi jika proses query gagal ?><script> alert ("pesan=Gagal merubah password");</script> <?php } }else{ //kondisi jika password baru beda dengan konfirmasi password ?><script> alert ("pesan=Konfirmasi password tidak cocok");</script><?php } }else{ //kondisi jika password baru yang dimasukkan kurang dari 5 karakter ?><script> alert ("Minimal password baru adalah 5 karakter");</script><?php } }else{ //kondisi jika password lama tidak cocok dengan data yang ada di database ?><script> alert ("Password lama tidak cocok");</script><?php } }else{ unset($_POST['password_lama']); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content=""> <meta name="author" content=""> <head> <title>Suba Hospital | Profile Password</title> <!-- Custom fonts for this template--> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <!-- Custom styles for this template--> <link href="css/sb-admin-2.min.css" rel="stylesheet"> <!-- Custom styles for this page --> <link href="vendor/datatables/dataTables.bootstrap4.min.css" rel="stylesheet"> </head> <body id="page-top"> <!-- Page Wrapper --> <div id="wrapper"> <?php include "sidebar.php"; ?> <!-- Content Wrapper --> <div id="content-wrapper" class="d-flex flex-column"> <!-- Main Content --> <div id="content"> <?php include "topbar.php";?> <!-- Begin Page Content --> <div class="container-fluid"> <!-- DataTales Example --> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Ubah Profile Password</h6> </div> <div class="card-body"> <div class="table-responsive"> <!-- pesan --> <?php if(isset($_GET['pesan'])){ echo '<i class="fas fa-info-circle"></i> '.$_GET['pesan'].''; } ?> <?php // jalankan query $sql = mysqli_query($koneksi,"select * from user WHERE username='".$_SESSION['username']."'"); //menampilkan data $row = mysqli_fetch_array($sql); ?> <br/> <form class="user" action="profile-password.php" method="post"> <div class="form-group"> <label>Username</label> <input type="text" name="username" class="form-control" id="exampleInputJudul" value="<?php echo $row['username'];?>" readonly> </div> <div class="form-group"> <label>Password Lama</label> <input type="password" name="password_lama" class="form-control" id="exampleInputEmail"> </div> <hr> <div class="form-group"> <label>Password Baru</label> <input type="password" name="password_baru" class="form-control" id="exampleInputEmail"> </div> <div class="form-group"> <label>Ulangi Password</label> <input type="password" name="ulangi_password" class="form-control" id="exampleInputEmail"> </div> <div class="form-group"> <input type="hidden" name="id" value="<?php echo $row['id'];?>"> <button style="width:200px; float:right;" class="btn btn-primary btn-block">Update</button> </div> </form> </div> </div> </div> </div> <!-- End Page Content --> </div> <!-- End Content Wrapper --> <?php include "footer.php";?> </div> <!-- End Main Content --> </div> <!-- End Page Wrapper --> <!-- Bootstrap core JavaScript--> <script src="vendor/jquery/jquery.min.js"></script> <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script> <!-- Core plugin JavaScript--> <script src="vendor/jquery-easing/jquery.easing.min.js"></script> <!-- Custom scripts for all pages--> <script src="js/sb-admin-2.min.js"></script> <!-- Page level plugins --> <script src="vendor/datatables/jquery.dataTables.min.js"></script> <script src="vendor/datatables/dataTables.bootstrap4.min.js"></script> <!-- Page level custom scripts --> <script src="js/demo/datatables-demo.js"></script> </body> </html>
- Tampilannya pada browser akan seperti ini
Demikian posting kali ini tentang Ubah Password. Nantikan posting Seri Membuat Website Professional dengan PHP & MySql, jangan lupa untuk selalu menjaga kesehatan dan tetap dalam keadaan aman. Semangat!!
Note: Untuk File lengkapnya bisa anda download melalui link dibawah ini.