Jumat, 15 Januari 2016

Belajar PHP - Membuat Website Jejaring Sosial part 2

Sudah beberapa bulan ini tutorial saya tentang Belajar PHP - Membuat Website Jejaring Sosial tidak dilanjutkan karena alasan klise iyalah malas. Malas adalah sebuah tantangan seorang yang bernama "Blogger". Apalagi "Blogger" baru seperti saya ini. Skip -


Pada artikel Belajar PHP - Membuat Website Jejaring Sosial Part 1 sebelumnya kita sudah membahas bagaimana membuat sebuah tabel dan sebuah database yang mana nanti tabel tersebut akan digunakan oleh pengguna sebagai tempat berbagi statusnya. Sebelum meneruskan tutorial php pada artikel Membuat Jejaring Sosial di PHP ini, adapun point-point yang akan kita bahas pada artikel ini adalah :
  • Mengkoneksikan Database
  • Membuat Register
  • Membuat Login
  • Membuat Beranda
Langsung saja kita membahas tentang poin-poin yang sudah disampaikan diatas.

Mengkoneksikan Database

Dari tutorial kemaren ( Baca : Belajar PHP - Membuat Website Jejaring Sosial ) kita sudah membuat database dengan nama "mediasosial". Pada point ini kita membahas bagaimana cara mengkoneksikan database kedalam website pada php, agar semua fungsi yang melibatkan database dapat berjalan secara normal bukan sesar.
Buatlah file dengan nama koneksi.php dan salin seluruh kode dibawah ini.
Kode koneksi.php
<?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = '';
$dbname = 'mediasosial';
$koneksi = mysql_connect($dbhost,$dbuser,$dbpassword);
$cek = mysql_select_db($dbname,$koneksi);
if (!$cek) {
echo "Koneksi kedatabase gagal!";
}

?>

Pada script diatas jika kawan tidak memiliki database dengan nama mediasosial maka akan muncul tulisan "koneksi kedatabase gagal!". Jika tulisan tersebut tidak muncul maka koneksi kedatabase kawan berhasil dengan baik, dan point pertama kawan sudah selesaikan. Next -

Membuat Register

Pada point ini kita ditugaskan untuk membuat sebuah form register yang mana nanti user (pengguna) yang masih belum bisa mengakses beranda diwajibkan untuk register terlebih dahulu agar beranda dapat diakses dan nama yang ada profile dia tampil saat menulis status.
Jadi, buatlah sebuah file dengan nama daftar.php. Agar user dapat melakukan register maka copy script dibawah ini.
Kode daftar.php
<?php
include 'koneksi.php';
if (isset($_POST['daftar'])) {
  if (($_POST['nama']=='') or ($_POST['email']=='') or ($_POST['sandi']=='') or ($_POST['alamat']=='') or ($_POST['tentang']=='')) {
    echo '<script>alert(\'Pastikan data diri tidak ada yang kosong!\');history.go(-1);</script>';
  } else {
    $nama = $_POST['nama'];
    $email = $_POST['email'];
    $sandi = md5($_POST['sandi']);
    $alamat = $_POST['alamat'];
    $tentang = $_POST['tentang'];
    $cari_email = mysql_query("SELECT `email` FROM `tb_user` WHERE `email`='$email'");
    if (mysql_num_rows($cari_email) == 0 ) {
      $sql = "INSERT INTO `tb_user`(`nama`, `email`, `sandi`, `alamat`, `tentang`) VALUES ('$nama','$email','$sandi','$alamat','$tentang')";
      $tambahdata = mysql_query($sql);
      echo '<script>alert(\'Berhasil mendaftar silahkan login!\');</script>';
    } else {
      echo '<script>alert(\'Email sudah pernah didaftarkan!\');</script>';
    }
  }
}
#Script by pemulabelajar.com
?>
<!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">
  <title>Registrasi di mediasosialku.com</title>
  <link rel="stylesheet" type="text/css" href="styles.css"/>
  <!-- Script by pemulabelajar.com -->
</head>
<body>
  <div class="header">
    Registrasi
  </div>
  <div class="navigasi">
    <li><a href="index.php">Home</a></li>
  </div>
  <div class="sidebar">
    <p>Anda diwajibkan untuk registrasi terlebih dahulu untuk bisa mengakses beranda sosialmediaku.com ini. Terima Kasih</p>
  </div>
  <div class="content">
    <div class="title-form-daftar">Masukkan data diri</div>
    <form method="post">
      <p>Nama Lengkap :</p>
      <input type="text" name="nama" placeholder="Nama Lengkap" />
      <p>Email :</p>
      <input type="email" name="email" placeholder="Email" />
      <p>Sandi :</p>
      <input type="password" name="sandi" placeholder="Password" />
      <p>Alamat :</p>
      <textarea name="alamat" placeholder="Alamat Lengkap"></textarea>
      <p>Tentang Saya :</p>
      <textarea name="tentang" placeholder="Tentang Saya"></textarea>
      <p><button type="submit" name="daftar">Daftar</button> Sudah memiliki akun ? <a href="login.php">Masuk</a></p>
    </form>
  </div>
</body>
</html>

Simpan dan jalankan daftar.php, jika tidak ada error pada proses registrasi maka kita sudah menyelesaikan point Membuat Registrasi. Sekarang kita dapat melanjutkan pada point berikutnya yaitu Membuat Login di PHP, kawan dapat membacanya pada artikel Belajar PHP - Membuat Login di PHP.
Ket: Sandi pada saat registrasi sudah dibuat enkripsi md5. Baca Membuat enkripsi pada Password di PHP.

Membuat Login

Karena setelah login user diharuskan login / masuk jadi kita harus menyediakan tempat untuk user menginputkan data diri. Maka dari itu sekarang kita buat file dengan nama login.php. Dan salin kode dibawah ini.
Kode login.php
<?php
session_start();
include 'koneksi.php';

if (isset($_POST['login'])) {
  $email = $_POST['email'];
  $sandi = md5($_POST['sandi']);
  $login = mysql_query("SELECT `no_user`, `nama` FROM `tb_user` WHERE `email`='$email' and `sandi`='$sandi'");
  if(mysql_num_rows($login)=='0'){
    echo '<script>alert(\'Email dan kata sandi salah!\');</script>';
  } else {
    $data = mysql_fetch_array($login);
    $_SESSION['no'] = $data['no_user'];
    header('location: index.php');
  }
}
#script by pemulabelajar.com
?>
<!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">
  <!-- Script by pemulabelajar.com -->
  <title>Login - Pemula Belajar</title>
  <link rel="stylesheet" type="text/css" href="styles.css"/>
</head>
<body>
  <div class="header">
    MediaSosialku.com
  </div>
  <div class="navigasi">
    <li><a href="index.php">Home</a></li>
  </div>
  <div class="sidebar">
    <p>Anda diwajibkan untuk login terlebih dahulu sebelum mengakses beranda sosialmediaku.com</p>
  </div>
  <div class="content">
    <p>Form Login User</p>
    <form method="post">
      <p>Email :</p>
      <input name="email" type="email" placeholder="Masukkan Email" />
      <p>Sandi :</p>
      <input name="sandi" type="password" placeholder="Masukkan Sandi"/>
      <p><button type="submit" name="login">Login</button> Belum mempunyai akun ? <a href="daftar.php">Daftar</a></p>
    </form>
  </div>
</body>
</html>

Ket: Pada login ini kita akan mengambil SESSION yang mana sudah kita bahas pada artikel Belajar PHP - Membuat Login di PHP.

Membuat Halaman Beranda

Setelah kita melakukan login pada halaman login.php maka apabila kita berhasil langsung diarahkan pada halaman beranda ini. Nanti dihalaman beranda ini kita akan berbagi status yang mana walaupun tidak berteman kita dapat melihat status teman-teman kita yang lain. Kalau dalam istilah lainnya ini seperti chatbox pada umumnya. Skip -
Buatlah sebuah file dengan nama index.php, dan copy script dibawah ini.
kode index.php
<?php
session_start();
include 'koneksi.php';
if (!$_SESSION['no']) {
  header('location: login.php');
}
$nouser = $_SESSION['no'];
$data = mysql_fetch_array(mysql_query("SELECT * FROM `tb_user` WHERE `no_user`='" . $_SESSION['no'] . "'"));
if (isset($_POST['kirim'])) {
  $status = $_POST['status'];
  $tanggal = date('Y-m-d H:i:s');
  mysql_query("INSERT INTO `tb_timeline`(`no_user`, `status`, `tanggal`) VALUES ('$nouser','$status','$tanggal')");
}
#Script by pemulabelajar.com
?>
<!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">
  <title>Beranda <?php echo $data['nama']; ?> - Pemula Belajar</title>
  <link rel="stylesheet" type="text/css" href="styles.css"/>
</head>
<!-- script by pemulabelajar.com-->
<body>
  <div class="header">
    Mediasosialku.com
  </div>
  <div class="navigasi">
    <li><a href="index.php">Home</a></li>
    <li><a href="profile.php?id=<?php echo $_SESSION['no']; ?>">Profile</a></li>
    <li><a href="keluar.php">Keluar</a></li>
  </div>
  <div class="sidebar">
    <p>Profile Saya</p>
    <img src="profile.png" width="60px" height="60px" style="float: left; margin-right: 10px;" />
    <p><?php
    echo '<a href="profile.php?id=' . $_SESSION['no'] . '">' . $data['nama'] . '</a>';
    ?></p>
    <p><?php
    echo $data['tentang'];
    ?></p>
  </div>
  <div class="content">
    <p>Buat Status</p>
    <form method="post">
      <textarea name="status" placeholder="Apa yang anda pikirkan ?" rows="3" cols="50" maxlength="140"></textarea>
      <br/>
      <button type="submit" name="kirim">Post</button> <span style="color: #555; font-size: 12px">Maximal 140 huruf</span>
    </form>
    <!-- script by pemulabelajar.com-->
    <br/>
    <hr />
    <p>Dinding Status</p>
    <?php
    $querystatus = mysql_query("SELECT `tb_timeline`.*,`tb_user`.`no_user`,`tb_user`.`nama` FROM tb_timeline
    LEFT JOIN `tb_user` ON `tb_timeline`.`no_user` = `tb_user`.`no_user` ORDER BY `tb_timeline`.`id_timeline` DESC");
    while ($data = mysql_fetch_array($querystatus)) {
      echo '<div style="border: 1px solid #555; margin-bottom: 10px; padding: 10px">';
      echo '<img src="profile.png" width="40px" height="40px" style="float: left; margin-right: 10px;" />';
      echo '<a href="profile.php?id=' . $data['no_user'] . '" style="margin-right: 20px">' . $data['nama'] . '</a>' . $data['status'];
      echo '<br /><span style="color: #555; font-size: 12px"><i>' . $data['tanggal'] . '</i></span>';
      echo '<div style="clear: both; margin-bottom: 10px"></div></div>';
    }
    if (mysql_num_rows($querystatus) == 0) {
      echo "Tidak ada status tersimpan!";
    }
    ?>
  </div>
</body>
</html>

Pembahasan : Script diatas akan menghasilkan nama, status, dan tanggal status tersebut. Yang mana nama pembuat status tersebut bisa di klik dan mengarah ke halaman profile.php. Lihat Point Berikutnya

Update :Membuat Jejaring Sosial di PHP - Part 3


Semoga artikel Tutorial PHP tentang Belajar PHP - Membuat Website Jejaring Sosial ini dapat bermanfaat bagi kawan yang sedang belajar PHP. Jika pada artikel ini kawan kebingungan dalam melakukan langkah-langkah yang disampaikan penulis, kawan dapat bertanya pada kolom komentar atau menghubungi saya melalui menu contact diatas. Salam dan Terima Kasih.