LOADING . . .
Selamat sore, kembali bersama saya Aditya Subawa. Pada posting kali ini saya akan melanjutkan apa yang sudah kita kerjakan di posting series Membuat Website Professional dengan PHP & MySql ini, silahkan lihat dahulu posting-posting terkait dengan tutorial kali ini:
Saya asumsikan anda sudah mendownload/menyamakan tampilan dashboard (link download anda bisa dapatkan di Part 4). Step selanjutnya adalah membuat halaman profile.php yang berfungsi untuk user/admin yang sedang login untuk mengubah emailnya.
Baca Juga: Bangkitnya Semangat UKM Indonesia
#1 Membuat Form Profile Admin
<a class="dropdown-item" href="profile.php">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
<?php
// menghubungkan dengan koneksi
include "../config/koneksi.php";
// mengaktifkan session php
session_start();
if($_SESSION['status'] !="login"){
header("location:../");
}
?>
<!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</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">Profile User</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-ubah.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>Email</label>
<input type="email" name="email" class="form-control" id="exampleInputEmail" value="<?php echo $row['email'];?>">
</div>
<div class="form-group">
<input type="hidden" name="id" value="<?php echo $row['id'];?>">
<a href="profile-password.php" style="width:200px; float:right;margin-left:20px;" class="btn btn-warning btn-icon-split"><span class="icon text-white-50"><i class="fas fa-edit"></i></span><span class="text">Ubah Password</span></a><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>
<?php
$sql = mysqli_query($koneksi,"select * from user WHERE username='".$_SESSION['username']."'");
$row = mysqli_fetch_array($sql);
?>
Cukup mudah dimengerti, hanya tinggal menjalankan perintah query dengan memanfaatkan perintah "WHERE" dan menampilkannya pada text-input dengan kode PHP <?php echo $row['username'];?><?php
session_start();
include '../config/koneksi.php';
$id = $_POST['id'];
$email = $_POST['email'];
$cek = mysqli_query($koneksi, "select * from user where id='$id'");
$row = mysqli_fetch_array($cek);
if($row['email']==$email){
header("location:profile.php?pesan=Alamat email sudah terdaftar");
}else{
$exe = mysqli_query($koneksi, "update user set email='$email' where id='$id'");
if($exe){
header("location:profile.php?pesan=Berhasil, user sudah diupdate");
}else{
header("location:profile.php?pesan=Gagal, coba lagi");
}
}
#2 Membuat Gambar Profile Avatar dengan Gravatar
Selanjutnya adalah membuat icon disebelah kanan username pada topbar, saya akan memanfaatkan layanan dari gravatar. Apa itu gravatar? Gravatar merupakan singkatan dari Globally Recognized Avatar yang bisa anda pakai hanya dengan menggunakan email. Layanan ini sama saja dengan avatar biasa, tapi Gravatar di-host di single server dan kemudian bisa digunakan di berbagai website selama anda menggunakan alamat email yang kamu gunakan untuk mendaftarkan Gravatar-anda. OK, jadi hanya butuh email yang sama. Untuk menggunakan gravatar, anda harus membuat akun terlebih dahulu pada situs gravatar.com
Baca Juga: Bangkitnya Semangat UKM Indonesia
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<?php
$sql = mysqli_query($koneksi, "select * from user where username='".$_SESSION['username']."'");
$row = mysqli_fetch_array($sql);
$default = "https://source.unsplash.com/QAB-WJcbgJk/60x60";
$grav_url = "https://www.gravatar.com/avatar/" . md5( strtolower( trim( $row['email'] ) ) ) . "?d=" . urlencode( $default ) . "&s=60";
?>
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small"><?php echo $_SESSION['username']; ?></span>
<?php
$sql = mysqli_query($koneksi, "select * from user where username='".$_SESSION['username']."'");
$row = mysqli_fetch_array($sql);
$default = "https://source.unsplash.com/QAB-WJcbgJk/60x60";
$grav_url = "https://www.gravatar.com/avatar/" . md5( strtolower( trim( $row['email'] ) ) ) . "?d=" . urlencode( $default ) . "&s=60";
?>
<img class="img-profile rounded-circle" src="<?php echo $grav_url;?>">
</a>
maaf mau tanya, yg langkah keenam saya udh coba tapi tidak ada perubahan di webnya