Selamat Datang sobat,
terima kasih, jika masih mengikuti tutorial ini.
Mari kita lanjutkan project yangg sebelumnya sudah kita
buat. di part 4 kita sudah bisa update status.
untuk yang belum membaca part 4,
silahkan klik part 4
Di part 5, kali ini kita akan buat fungsi untuk hapus status
yang sudah kita buat.
Kita akan membuat sebuah fungsi untuk menghapus status yang
kita miliki. Perlu diketahui sebelumnya bahwa status yang dihapus ini tidak
bisa sepenuhnya dihapus, apalagi ketika kita sudah menerapkan sistem basis data
yang relasional dengan menggunakan foreign key.Disini kita akan merubah isi
attribut "dihapus" yang ada pada tabel status tersebut. Nilai atribut
"dihapus" dari sebuah status pada saat dibuat adalah "t"
dan ketika dihapus akan bernilai "y". Dan status yang tampil pada
halaman home hanya status yang tidak dihapus. Jadi yang tampil hanya yg
bernilai 't' bukan?
Mari kita cek kode dari link "Hapus"
<li class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" href="#"><b class="caret"></b></a>
<ul role="menu" class="dropdown-menu" style="width:50px">
<li> <a href="hapus_status.php?id_status=<?php
echo $row['id_status'];?>">Hapus</a></li>
<!-- id_status digunakan untuk di GET pada halaman
hapus_status.php nanti -->
</ul>
</li>
Link untuk melakukan proses hapus adalah
"
hapus_status.php?id_status=<?php echo $row['id_status'];?>"
Maksud dari link diatas adalah sebagai berikut :
- link halaman php tujuan = hapus_status.php
- ?id_status = variabel $_GET yang memiliki nilai id_status dari status yang akan kita hapus.
- <?php echo $row['id_status'];?> = nilai id_status yg dihapus
Buat sebuah file php baru dengan nama hapus_status.php .
Isikan kode berikut :
<?php
session_start();//
memulai menggunakan/memanggil variabel session
//kode dibawah ini
adalah kode untuk mengambil isi dari variabel $_GET['id_user'] yang dikirim
dari halaman home
if(isset($_GET['id_status'])){//jika
$_GET['id_status'] ada isisnya maka
$id_status=$_GET['id_status'];
//menyimpan nilai $_GET
}
$id_user=$_SESSION['id_user'];//variabel
id_user nilainya adalah id_user yang login
include"library.php";//menggunakan
library.php
$link=koneksi_db();//membuat koneksi ke database
//eksekusi query
update nilai dari atribut dihapus
$exe=mysql_query("UPDATE status set dihapus='y'
where id_user='$id_user' AND id_status='$id_status'",$link) ;
if($exe)//jika sukses
{
echo "<script>
location.replace('home.php')</script>";
}
else { //jika gagal
echo "<script>
location.replace('home.php')</script>";
}
?>
Cek komentar dari
kode diatas agar mengerti maksudnya. Kemudian coba anda update sebuah status di
halaman Home kemudian anda hapus. Sukses bukan? tentu saja status yang dapat
kita hapus adalah status milik kita.
Berikutnya kita
coba untuk membuat fitur ubah foto profil.
Pertama-tama mari kita
cek file "header.php" kita
Tampilannya :
header baru |
Dari kode diatas
kita bisa cek link tujuan proses ganti foto adalah
file"gantifoto.php". Maka dari itu kita buat terlebih dahulu file
tersebut dan kosongkan isinya.
Tampilan halaman
gantifoto.php yang akan kita buat adalah sebagai berikut :
tampilan gantifoto.php |
Berikut adalah kode
untuk membuat “gantifoto.php” :
<?php
session_start();//
memakai session
include "library.php";//memakai
isi library
if(isset($_SESSION['id_user'])){
if(isset($_GET['id_user'])){
$id_user=$_GET['id_user'];//mengisi
variabel id_user
}
if(empty($_GET['id_user'])){
$id_user=$_SESSION['id_user'];//mengisi
variabel id_user
}
$link=koneksi_db();//membuat
koneksi ke database
//memulai proses
query untuk mengambil nilai atribut dari yang sedang login
$query=mysql_fetch_array(mysql_query("select
* from user where id_user='$id_user'",$link));
//mengisikan nilai
tiap variabel
$nama_depan=$query['nama_depan'];
$nama_belakang=$query['nama_belakang'];
$photo=$query['foto_profil'];
?>
<!DOCTYPE
html>
<html>
<head>
<meta
charset="utf-8">
<title><?php
echo $nama;?></title>
<link
rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link
rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
<script
type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script
type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<link
href="css/bootstrap.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
include"header.php"; ?>
<div
class="container">
<div
class="jumbotron">
</div>
<div
class="row" style="background-color:#0C9">
<div
class="col-md-2"><!--mulai colmd
2-->
<div class="row">
<div class="col-md-12"><!-- kolom
foto profil yg login -->
<div class="thumbnail">
<img src="foto/<?php echo
$photo;?>" class="img-circle"> <!-- bisa diganti
dengan class="img-thumbnail" untuk foto bulat-->
<div class="caption" style="background-color:#0C6">
<center><h4><?php echo $nama_depan.'
'.$nama_belakang;?></h4></center>
</div>
</div>
</div>
<?php include"bagiankiri.php";?>
<!-- menampilkan kotak pesan, galeri, dan teman -->
</div>
</div><!--akhir colmd 2-->
<div class="col-md-10" style="background-color:
#0FF"> <!--BAGIAN
KANAN-->
<ul
class="breadcrumb"><!-- header halaman -->
<li class="active"><b>Ganti Foto
Profil</b></li>
</ul>
<div
class="row">
<div
class="col-md-6">
<!-- Form ganti
foto
-->
<form
enctype="multipart/form-data"method="post" action="proses_foto.php?id_user=<?php
echo $_SESSION['id_user'];?> " >
Pilih Gambar : <input type="file" name="gmb" class="form-control">
<button class="btn btn-info" type="submit" name="kirim">GANTI</button>
</form>
</div>
<div
class="col-md-6">
</div>
</div>
<hr>
</div>
</div>
</div>
<!--/.CONTAINER-->
<?php footer();
?>
</body>
</html>
<?php
}else{
header("Location:index.php");
}
?>
Sekarang coba dicek
apakah tampilannya sudah sesuai gambar tampilan diatas. Anda dapat mengubah
tampilan tersebut dengan mengganti bootstrap-nya.
Untuk proses
penggantian foto kita memerlukan file php proses untuk ganti fotonya. Kita cek
kode form ganti foto diatas :
<form
enctype="multipart/form-data"method="post" action="proses_foto.php?id_user=<?php
echo $_SESSION['id_user'];?> " >
Pilih Gambar : <input type="file" name="gmb" class="form-control">
<button class="btn btn-info" type="submit" name="kirim">GANTI</button>
</form>
Action halaman
tujuannya adalah :
proses_foto.php?id_user=<?php
echo $_SESSION['id_user'];?>
Maksud link
tersebut :
- proses_foto.php adalah halaman file php tujuan
- ?id_user= adalah variabel $_GET yang akan dikirim ke halaman proses_foto.php
- <?php echo $_SESSION['id_user'];?> adalah isi dari id_user yang login
Untuk proses ganti
foto ke database kita buat dulu file php baru dengan nama
"proses_foto.php" dan kosongkan isinya. Kemudian ketikkan kode
berikut :
<?php
session_start();//menggunakan
session
$id_user=$_SESSION['id_user'];//mengisi
veriabel id_user dengan nilai id_user yang login
/*PENGATURAN GAMBAR
di FOLDER*/
$folder = "foto/";//nama folder nya 'foto',
sudah sama dengan folder dalam namaproject
$folder = $folder . basename( $_FILES['gmb']['name']);
$gambar =($_FILES['gmb']['name']);//isi
variabel gambar agar acak
include"library.php";
$link=koneksi_db();//membuat koneksi
$query="update user set foto_profil = '$gambar'
where id_user='$id_user'" ;//query update ke table user
$exe=mysql_query($query,$link);//eksekusi query
if ($exe) {
move_uploaded_file($_FILES['gmb']['tmp_name'],
$folder);//memindahkan gambar ke folder foto
header ("location:home.php");
}
else {
header ("location:setting.php"); }
?>
Jika sudah, mari
kita coba untuk ganti foto profilnya.. Nih hasil percobaannya :
tampilan ganti foto sukses |
Selanjutnya kita
buat fitur ganti password nya..
untuk mengganti
password. Mari buat 1 file php baru dengan nama "gantipassword.php"
kemudian kosongkan isinya. Kemudian ketikkan kode berikut :
<?php
session_start();
include
"library.php";
if(isset($_SESSION['id_user'])){
if(isset($_GET['id_user'])){
$id_user=$_GET['id_user'];
}
if(empty($_GET['id_user'])){
$id_user=$_SESSION['id_user'];
}
$link=koneksi_db();
$query=mysql_fetch_array(mysql_query("select
* from user where id_user='$id_user'",$link));
$nama_depan=$query['nama_depan'];
$nama_belakang=$query['nama_belakang'];
$photo=$query['foto_profil'];
?>
<!DOCTYPE
html>
<html>
<head>
<meta charset="utf-8">
<title><?php echo
$nama;?></title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php include"header.php";
?>
<div class="container">
<div class="jumbotron">
</div>
<div class="row" style="background-color:#0C9">
<div class="col-md-2"><!--mulai
colmd 2-->
<div class="row">
<div class="col-md-12"><!--
kolom foto profil yg login -->
<div class="thumbnail">
<img src="foto/<?php echo
$photo;?>" class="img-circle"> <!-- bisa diganti dengan
class="img-thumbnail" untuk foto bulat-->
<div class="caption" style="background-color:#0C6">
<center><h4><?php echo $nama_depan.'
'.$nama_belakang;?></h4></center>
</div>
</div>
</div>
<?php include"bagiankiri.php";?>
<!-- menampilkan kotak pesan, galeri, dan teman -->
</div>
</div><!--akhir colmd 2-->
<div class="col-md-10" style="background-color:
#CCC"> <!--BAGIAN KANAN-->
<ul class="breadcrumb">
<li class="active">Ganti
Password</li>
</ul>
<div class="row">
<div class="col-md-6">
<form method="post" class="form-horizontal" action="password_proses.php">
<div class="form-group">
<label for="inputPassword" class="control-label
col-xs-4">Password Lama</label>
<div class="col-xs-8">
<input type="password" name="password" class="form-control" id="inputPassword" placeholder="Password
Lama">
</div>
</div>
<div class="form-group">
<label for="inputPasswordbaru" class="control-label
col-xs-4">Password Baru</label>
<div class="col-xs-8">
<input type="password" name="password_baru" class="form-control" id="inputPassword" placeholder="Password
Baru">
</div>
</div>
<div class="form-group">
<label for="inputPasswordulang" class="control-label
col-xs-4">Ulangi</label>
<div class="col-xs-8">
<input type="password" name="password_baru_ulang" class="form-control" id="inputPassword" placeholder="Ulangi
Password Baru">
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-2
col-xs-10">
<button type="submit" class="btn
btn-success" name="kirim" value="Simpan">Simpan</button>
</div>
</div>
</form>
</div>
<div class="col-md-6">
</div>
</div><!--/.STATUS-->
<hr>
</div><!--/.BAGIAN
KANAN-->
</div>
</div>
<!--/.CONTAINER-->
<?php footer(); ?>
</body>
</html>
<?php
}else{
header("Location:index.php");
}
?>
Kode diatas
sebenarnya mirip dengan gantifoto.php hanya bagian isinya yang berbeda.
Tampilan halaman ganti password sebagai berikut :
tampilan ganti password |
Terdapat 3 buah
kolom. Password lama, Password baru, dan Ulangi Password Baru. Cara kerjanya
seperti ini :
- Pertama akan dicek apakah password lama milik user yang Login sesuai dengan isi kotak "password lama". Apabila tidak sesuai maka ganti password ditolak. Apabila sesuai maka lanjut ke tahap berikutnya.
- Kedua akan dicek Apakah isi password baru dan ulangi password sudah sama. apabila berbeda maka proses ganti password ditolak. Apabila sama maka lanjut ke tahap pergantian password.
Perhatikan
"Name" yang ada pada form diatas yang akan di gunakan untuk proses
ubah password. Antara lain :
- name="password"
- name="password_baru"
- name="password_baru_ulang"
Method dari form
ganti password adalah POST dan actionnya adalah "password_proses.php".
Maka dari itu mari kita buat 1 file php baru dengan nama
"password_proses.php" dan ketikkan kode berikut :
<?php
session_start();//memulai
dan menggunakan variabel session
$id_user=$_SESSION['id_user'];//mengisi
id_user yang login
//mengambil isi
variabel yang di POST dari form ganti password
$password=$_POST['password'];
$password_baru=$_POST['password_baru'];
$password_baru_ulang=$_POST['password_baru_ulang'];
//validasi jika isi
kosong
if (empty($_POST['password']))
die ("<script>alert('Anda
Belum Mengisikan
Password');window.location='javascript:history.go(-1)';</script>");
if (empty($_POST['password_baru']))
die ("<script>alert('Anda
Belum Mengisikan Password
Baru');window.location='javascript:history.go(-1)';</script>");
if (empty($_POST['password_baru_ulang']))
die ("<script>alert('Anda
Belum Mengisikan Ulangi Password
Baru');window.location='javascript:history.go(-1)';</script>");
include"library.php";//gunakan library
$link=koneksi_db();//membuat koneksi ke database
$query=mysql_fetch_array(mysql_query("select *
from user where id_user='$id_user'",$link));
//eksekusi query untuk mendapatkan password user yang
sedang login
$password_user=$query['password'];//menyimpan password
user yg asli(sedang login)
if($password_user!=$password) die ("<script>alert('Password
Lama
Salah');window.location='javascript:history.go(-1)';</script>");
if($password_baru!=$password_baru_ulang) die ("<script>alert('Ulangi
Password Baru Tidak Sesuai');window.location='javascript:history.go(-1)';</script>");
$query1="update user set password=
'$password_baru' where id_user='$id_user'";//
$exe=mysql_query($query1,$link);
if ($exe) {
header ("location:home.php");
}
else {
header ("location:gantipassword.php"); }
?>
Cek Komentar pada
kode diatas untuk penjelasan kodenya.
Coba ganti password anda. Sukses kan?? hehehe
Sekian dulu
tutorial part 5 ini. Semoga bermanfaat bagi para pembacanya. Untuk tutorial
edit info akan dibahas pada pembuatan halaman Profil user. Pembuatan fitur
pesan dan galery dan pertemanan akan hadir di episode berikutnya.
Jika sobat masih
belum paham atau muncul notif error, laporkan saja di kotak komentar.
Jangan lupa di
follow ya...
Terus semangat ya
sobat, jangan pernah menyerah
Sampai Jumpa di
tutorial berikutnya...
No comments:
Post a Comment