Membuat Jejaring Sosial sederhana dengan PHP, MYSQL, dan Bootstrap di Localhost (part 7)

Posted on Monday, November 2, 2015

Ketemu lagi dengan saya sobat.
Mohon maaf jika tutorial kemarin belum saya post-kan, seperti biasa di karenakan sibuk di hari minggu ,
kali ini saya coba lanjutin tutorial kita, gak terasa sudah sampai di PART 7. Kali ini kita akan buat halaman profil untuk user.

Halaman profil dari sebuah jejaring sosial paling tidak harus memiliki fitur sebagai berikut :
1. Foto Profil dan Nama User
2. Info Biodata User
3. Halaman Status User
4. Daftar Teman
5. Button Add Friend
6. Button Kirim Pesan, dll.
Kali ini kita akan coba membuat layout untuk menampung fitur-fitur diatas.

Pertama
Di part 6 kita sudah membuat  Kita sudah membuat kometar. Jadi seluruh dari part 1- part 6, akan memiliki tampilan home seperti berikut :

home.php
Dan database dengan tiga buah tabel seperti berikut :
tiga table
Kedua
 Kita buat desain layout. Misalnya kita ambil contoh halaman profil dari web Jejaring Sosial yang sudah ada semacam facebook, google +, dll. Kali ini kita ambil desain mirip desain Jagocoding seperti ini :
tampilan design social network
Penjelasan :
1. Bar Navigasi sama dengan header bar dari halaman Home
2. Foto Profil sama dengan halaman Home
3. Nama User sama dengan halaman home
4. Add Fren muncul jika membuka halaman user lain yang belum berteman, Add Fren berganti menjadi "Tunggu Konfirmasi" jika sudah nge-Add tapi lum diterima, Add Fren berganti menjadi "Terima Request" jika sudah di-Add tpi lum diterima, Add Fren berganti menjadi "Berteman" jika sudah ada konfirmasi pertemanan.
5. Kirim pesan akan memunculkan modal kirim pesan kepada user yg sedang dibuka halaman profilnya.
6. Status adalah tempat melihat status User yang dibuka halaman profilnya.
7. Galery adalah temapt melihat Foto User yang dibuka halaman profilnya.
8. Info adalah tempat melihat biodata dan statistik user
9. Teman adalah tempat melihat daftar teman dari user yang dilihat profilnya
Ketiga
Mari kita mulai dengan membuat satu file php baru dengan nama 'profil.php' kemudian save pada folder 'namaproject'. Kemudian ganti isinya dengan 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'];

?>
     


<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Profil</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>

</head>


<body>
   

<?php  

footer();

?>


</body>

</html>

<?php

}else{

header("Location:index.php");

}

?>
·         Kode diatas berfungsi untuk Cek Session User Login, dan Pemanggilan CSS & Js bootstrap dan Jquery. User yang belum login tidak dapat mengakses Halaman Profil. Pada beberapa Situs Jejaring Sosial, kita bisa melihat halaman profil dari user meskipun tidak login. Karena hal ini memerlukan pengaturan privasi yg sedikit lebih rumit maka kita akan bahas hal ini dikesempatan berikutnya. Kita fokus dulu untuk membangun fitur dasar dari halaman profil.

Keempat

  • Ubah warna <body> menjadi hitam dengan img background yg sudah disimpan di dalam folder Foto. (Silahkan ganti warna lain)


<body  background="foto/website-backgrounds-free.jpg">
  • Dalam profil.php. Panggil header.php dalam tag<body> </body> seperti berikut :

<body  background="foto/website-backgrounds-free.jpg">
<li><a href = "profil.php?id_user=<?php echo "$_SESSION[id_user]";?>"><span class="glyphicon glyphicon-user"></span><?php echo   ' '.$_SESSION['nama_depan'].' '.$_SESSION['nama_belakang'];?></a></li>
<?php echo include"header.php";?> </body>
  •   Ganti isi file header.php berikut :

<li><a href = "profil.php?id_user=<?php echo "$_SESSION[id_user]";?>"><span class="glyphicon

            Menjadi

<li><a href = "profil.php?id_user=<?php echo "$_SESSION[id_user]";?>"><span class="glyphicon glyphicon-user"></span><?php echo' '.$_SESSION['nama_depan'].' '.$_SESSION['nama_belakang'];?></a></li>

Agar nama pada header bar tetap menampilkan nama user yang login.
  •  Buka file profil.php dan pastekan kode Modal untuk menampilkan pop up foto profil diantara tab </body> dan </html> sebagai berikut :


<div id="myModalfoto" class="modal fade"> <!-- modal untuk pop up img -->
    <div class="modal-dialog">
        <div class="modal-content">
            
            <div class="modal-body">
<center>
                <img src="foto/<?php echo $photo;?>" class="img-responsive">
</center>

            </div>
           
        </div>
    </div>
</div>
  •  Isikan kode berikut dibawah kode <?php echo include"header.php";?>  pada profil.php untuk menampilkan foto profil dan nama user :


<div class="container">
        <br><br>
           <div class="row" style="background-color: #C36">
           <p></p><!-- jarak doank -->
           
           <div class="col-md-6"><!--mulai div clas md 6 -->
           <div class="row">
           <div class="col-sm-4"><!-- tampilkan foto profil -->           
            <a href="#myModalfoto"  data-toggle="modal">
             <img src="foto/<?php echo $photo;?>" class="img-rounded" width="125" height="125">
             </a>
            </div>
             
           <div class="col-sm-8"><!-- tampilkan Nama User -->
            <div style="margin-top:50px"><!-- Jika klik nama user maka akan menuju ke halaman profil user -->
           <h3> <a href = "profil.php?id_user=<?php $query2=mysql_fetch_array(mysql_query("select * from user where id_user='$id_user'"));
$id=$query2['id_user'];
 
if($query2){ echo $id; }else{ echo $_SESSION['id_user'];}?>"> <?php echo $nama_depan.' '.$nama_belakang;?></a><br>
 </h3>
            </div>
            </div>
            </div> <br>
           </div><!-- end div clas md 6 -->
  <!-- ISIKAN KODE KIRIM PESAN DAN ADD FRIEND DIBAWAH KOMENTAR INI -->
            </div><!-- end row -->       
</div><!-- end container profil foto dan nama -->

NB : jika nanti pas sobat klik fotonya, tapi tidak ke-zoom. Ganti <a href=”#myModalfoto”> dengan foto sobat di folder project sobat.

  • Coba cek tampilan webnya, seharusnya sudah bisa tampil seperti ini jika klik foto profil:

foto zoom sukses

Kelima

Saat ini kita sudah membagi halaman berwarna pink diatas sebagai berikut :

design foto dan nama user
Halaman abu-abu diatas berisi foto dan nama user. Halaman disebelah kanan(putih) akan kita isi dengan button kirim pesan dan Add Friend.

·         Isikan kode berikut dibawah kode <!-- ISIKAN KODE KIRIM PESAN DAN ADD FRIEND DIBAWAH KOMENTAR INI --> pada file profil.php :

<div class="col-md-6"><!--mulai div clas md 6 -->

     <div class="row">
<div class="pull-right" style="margin-top: 50px; width:50%">
<div class="row">
                    <div class="col-sm-6">
                                     <a href="#myModalteman" data-toggle="modal" class="btn btn-primary btn-block"><center>Add Teman</center></a>

                <a href="#myModalkonfirmasi" data-toggle="modal" class="btn btn-primary btn-block"><center>Konfirmasi</center></a>

                                    <a href="#myModalbatal" data-toggle="modal" class="btn btn-primary btn-block"><center>Batal Add</center></a>

                   </div>

                   <div class="col-sm-5">

                      <div class="navbar navbar-static">

                             <div class="navbar-inner">


                              <ul role="navigation" class="nav" style="background-color:#FFF">

                      <li><a href="#myModalpesan" data-toggle="modal" style="text-decoration:none"><center>Kirim Pesan</center></a></li>
                                                   

                       <li class="dropdown" style="background-color:#FFF">

                                                               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Teman <b class="caret"></b></a>

                   <ul class="dropdown-menu">

                     <a href="#myModalhapusteman" data-toggle="modal" style="text-decoration:none"><center>Hapus Teman</center></a>

                   </ul>

                        </li>                                                              

                            </ul>

                         </div>

                       </div>

                    </div>

           </div>

          </div>          
       </div>             

  </div><!-- end div clas md 6 -->
  • Coba cek tampilan web nya. Seharusnya sudah seperti ini :
    tampilan navigasi 
  • Button Diatas akan dipakai nanti nya pada saat pembuatan fitur pertemanan. Untuk semetara biarkan tetap seperti itu.

Keenam

Mari kita buat section bar untuk mengisi bagian "STATUS, GALERY, INFO, dan TEMAN" seperti pada rancangan diatas.
·         Kode ini memerlukan javascript tambahan untuk mengaktifkan SECTION, maka dari itu ketik kode berikut diatas </head> pada profil.php :
<script type="text/javascript">
$(document).ready(function(){
    $("#myTab a").click(function(e){
        e.preventDefault();
        $(this).tab('show');
    });
});
</script>

·         Setelah itu kita isi kode untuk menampilkan section-bar dibawah kode </div><!-- end container profil foto dan nama --> sebagai berikut :
<div class="container"><br> <!-- container isi status dan info -->
<div class="row" style="background-color:#FFF">
<div class="col-md-6">
<ul class="nav nav-pills nav-justified" id="myTab">
<li class="active"><a href="#sectionA">Status</a></li>
<li><a href="#sectionB">Galery</a></li>                 
</ul>
<div class="tab-content">
<div id="sectionA" class="tab-pane fade in active">
<br>
<div class="row">
<div class="col-md-1 col-sm-1 col-xs-1">
</div>
<div class="col-md-11 col-sm-11 col-xs-11">
<?php if(($id_user == $_SESSION['id_user'])){ ?>
<form action="updatestatus.php" method="post">   <!-- form update status -->                                           
<div class="row">
<div class="form-group">
<textarea maxlength="255" cols="40" rows="4" name="update" class="form-control" placeholder="Tulis status.."></textarea>
<p></p><!-- JARAK DOANK -->
<button type="submit" class="btn btn-primary pull-left" value="POST" name="kirim">POST</button>
</div>
</div>                           
</form><!-- end form update status -->
<?php } ?>

 <!-- KETIKKAN KODE tampil status dibawah sini -->

</div>
</div>
<br>
</div>
<div id="sectionB" class="tab-pane fade">
<p>Dalam Tahap Pengembangan</p>
</div>     
</div>         
</div> <!-- end div-col-md-6 -->
<div class="col-md-6">
<ul class="nav nav-pills nav-justified" id="myTab">
<li class="active"><a href="#sectionC">INFO</a></li>
<li><a href="#sectionD">TEMAN</a></li>                 
</ul>
<div class="tab-content">
<div id="sectionC" class="tab-pane fade in active">
<div class=" row">
<div class="col-md-1">
</div>
<div class="col-md-10">
<div class="row">
<div class=" col-md-12" style="background-color: #CCC">
<h4>
<?php
$query3=mysql_fetch_array(mysql_query("select * from user where id_user='$id_user'"));
$profil=$query3['profil_singkat'];
if($profil){ echo $profil; }else{ echo " Profil belum diisi ";}?>
</h4>
</div>
</div>                        
<div class="row">
<div class=" col-md-12" style="background-color: #CCC">
<h4>
<?php
$query4=mysql_fetch_array(mysql_query("select * from user where id_user='$id_user'"));
$tanggal=$query4['tgl_lahir'];
$kelamin=$query4['kelamin'];
$agama=$query4['agama'];
$status=$query4['status'];
$alamat=$query4['alamat'];
$hobi=$query4['hobi'];
if($query4){ echo "Nama Lengkap : ";echo $nama_depan.' '.$nama_belakang; ?> <br> <?php
echo "Tanggal Lahir  : ";echo $tanggal; ?> <br> <?php
echo "Gender : ";echo $kelamin; ?> <br> <?php
echo "Agama : ";echo $agama; ?> <br> <?php
echo "Alamat  : ";echo $alamat; ?> <br> <?php
echo "Status : ";echo $status; ?> <br> <?php
echo "Hobi : ";echo $hobi;
}else{ echo " Profil belum diisi ";}
?>
</h4>
</div>
</div>
</div>
<div class="col-md-1">
</div>
</div>
</div>
<div id="sectionD" class="tab-pane fade">
<p>Dalam Tahap Pengembangan</p>
</div>
</div>
</div><!-- end div-col-md6 ke-2 -->
</div><!-- end row -->
</div><!-- end container -->

·         Coba periksa tampilannya. seharusnya kita sudah punya tampilan seperti ini :
tampilan profil
Ketujuh

Selanjutnya kita harus dapat menampilkan status yg kita update pada halaman profil ini. Status yang di post akan muncul dibawah form update status. 
Untuk menampilkan status ini kodenya mirip dengan kode pada halaman home. Hanya querynya sedikit berbeda.

·         Ketikkan kode berikut dibawah kode  <!-- KETIKKAN KODE tampil status dibawah sini --> pada profil.php :

<?php

$query1 = mysql_query("SELECT * FROM status JOIN user USING(id_user) WHERE id_user='$id_user' AND dihapus = 't' ORDER BY id_status DESC");

while($row=mysql_fetch_array($query1)){

  $id_status=$row['id_status'];

  $id_us=$row['id_user'];

  $isi_status=$row['isi_status'];

  $tanggal_status=$row['tanggal_status'];

  $nm_dp=$row['nama_depan'];

  $nm_blk=$row['nama_belakang'];

  $fot=$row['foto_profil'];
  

?>

<?php include"tampilstatus.php";?>

<?php

}

?>

<br>

·         Kemudian coba cek tampilan halaman profil website kita dan coba update status. Status yang kita update akan muncul pada halaman wall kita.
Coba ganti nilai id_user pada URL dengan angka lain untuk mengecek halaman profil user lain.

Tampilan hasil akhirnya :

tampilan hasil akhir
Demikian tutorial untuk halaman profil ini. Fitur berikutnya yang akan dibahas adalah pertemanan, dan update biodata profil user. Silahkan dipelajari dan dicoba tahap demi tahap agar bisa. Maaf jika ada kesalahan.
Source hasil tutorial part 7 ini bisa di cek di komen bawah.. :D

NB : kalau pake php versi 5.5 keatas akan ada notice DEPRECATED bla bla bla.. Bug ini udh diatasi di hasil tutorial past7 di komen bawah.. lebih jelasnya tentang DEPRECATED ini bisa tanya mbah google gan.. thanks ...

Ini adalah tampilan home.php yang saya edit-edit. Jadi sobat bisa menyempurnakan social network sobat, agar menjadi lebih keren. Ini dia tampilannya :
 
tampilan edit home saya
Tampilan index.php :

tampilan index.php
Mungkin, tutorial part 8 masih lama, di karenakan saya juga masih menunggu update-tannya dari “TutorialJaco”. Mohon di maafkan jika masih ada kekurangannya.

Terima Kasih atas kerja kerasnya,

Silahkan bertanya jika merasa muncul notif error, maka saya akan segera membantunya.

Terima Kasih


4 comments:

  1. sama sama gan, wah maaf ini dari aplikasi xampp gan. jadi nggak ada demonya, maaf ya

    ReplyDelete
  2. Wah bisa nih buat tugas kuliah, thanks gan

    Kunjungi juga gan bagaimana menambah Bandwith WIFI menggunakan CMD
    http://mencari-unik.blogspot.co.id/2016/01/cara-menambah-bandwith-jaringan-wifi.html

    ReplyDelete
  3. susah nih, rumit, ada cara yang lebih gampang gak?

    ReplyDelete

About Me

Yoga Iman on

Followers

© WORLD-INFO. Template by Template Responsive Design Powered By Blogger