PHP CRUD dan Session

Membuat PHP CRUD ( CReate Updarte Delete ) dengan menggunakan Session,

Sebelum membuatnya terlebih dahulu kita buat databasenya terlebih dahulu

kita buat database dengan nama data_penyakit

database

setelah membuat database data_penyakit diatas terdapat 2 tabel yaitu tabel_penyakit dan tabel user.

kita buat tabel user dengan isikan sebagai berikut :

user

kemudian isikan tabel_penyakit seperti berikut :

tabel

setelah selesai kita buat koneksi.php untuk mengkoneksikan database dengan PHPnya


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->

<?php

mysql_connect("localhost","root","saputra");
mysql_select_db(data_penyakit);

?>

kemudian buat data validasi login dengan format validasi.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->

<?php
session_start();

// koneksi database -------------------------------------------->
$db = new mysqli ( "localhost" , "root" , "saputra" , "data_penyakit" );
echo $db->connect_errno?'Koneksi gagal : '.$db->connect_error:'';
//<--------------------------------------------------------------

if(isset($_POST['username']) && ($_POST['password'])){
 $username = $db->real_escape_string($_POST['username']);
 $password = $db->real_escape_string(md5($_POST['password']));
 $sql = "select * from user where username = '$username' AND password = '$password'";
 $result = $db->query($sql);

 if ($result->num_rows == 1){
 $row = $result->fetch_object();
 $_SESSION['username'] = $row->username;
 $_SESSION['level'] = $row->level;

 header("location:sadmin.php");

 }else{
 $_SESSION['pesan']="Username atau Password salah";
 header("location:index.php");
 }

}else{
 $_SESSION['pesan']="Username atau password tidak boleh kosong";
 header("location:index.php");
}

?>

selanjutnya buat file logout.php yaitu berfungsi untuk keluar dari login


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->
<?php
session_start();
// apabila ditekan tombol logout paka session username & level akan hilang
unset($_SESSION['username']);
unset($_SESSION['level']);
header("location:index.php");
?>

kemudian kita buat tampilan login seperti ini

login

index.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->

<?php session_start(); ?>
<!DOCTYPE html>
<html>
 <head>
 <title>Pemrograman Web Dinamis</title>
 <!-- Bootstrap -->
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/jumbotron.css" rel="stylesheet">
 <link rel="stylesheet" href="css/sign.css">

</head>
 <body>

 <div class="container">
 <div class="row">
 <div class="col-sm-6 col-md-4 col-md-offset-4">
 <center><img src="img/photo.jpg" alt="..." class="img-rounded" width="140px"></center>
 <center><h3 class="form-signin-heading">Login</h3></center>

 <form class="form-signin" action="validasi.php" method="POST">
 <input type="text" class="form-control" name="username" placeholder="Username" required autofocus>
 <input type="password" class="form-control" name="password" placeholder="Password" required autofocus>
 <?php
 // menampilkan validasi jika username atau password salah
 if(isset($_SESSION['pesan'])){
 echo $_SESSION['pesan'];
 unset($_SESSION['pesan']);
 }
 else{
 // apabila login gagal lanjut tampilkan form login
 }
 ?>
 <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
 </form>
 </div>

 </div>
 </div>
 </div>
 <!--fotter-->
 <div class="footer">
 <center><p>&copy; Pemrograman Web Dinamis 2013</p></center>
 </div>

</body>
</html>

Kita akan membuat php CRUD dengan menggunakan SESSION,
yaitu bila kita login dengan :

1. super_admin

  • dapat menambah data user,
  • dapat menambah data penyakit
  • dapat mengedit dan,
  • dapat menghapus data tersebut.

2. admin

  • dapat menambah data penyakit
  • dapat mengedit dan,
  • dapat menghapus data tersebut.

3. operator

  • hanya dapat melihat data penyakit saja

kemudian kita buat file sadmin.php, file ini berisi tampilan super_admin, admin, dan operator yang menggunakan session.


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->

<?php session_start(); include"koneksi.php";?>
<html>
 <head>
 <title>Super Admin</title>
 <!-- Bootstrap -->
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/jumbotron.css" rel="stylesheet">
 <link rel="stylesheet" href="css/sign.css">
 </head>
<body>
 <div class="navbar navbar-fixed-top navbar-inverse" role="navigation">
 <div class="container">
 <div class="navbar-header">
 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
 </button>
 <a class="navbar-brand">Data Penyakit</a>
 </div>
 <div class="collapse navbar-collapse">
 <ul class="nav navbar-nav">
 <li><a>Home</a></li>
 <li class="active"><a href="#">Admin</a></li>
 </ul>

</div><!-- /.nav-collapse -->
 </div>
 </div><!-- /.container -->

<div class="container">
 <?PHP
 // apa bila login berhasil tampilkan Pesan
 if (isset($_SESSION['username'])&&(isset($_SESSION['level']))){

 ?>
 <h3>Selamat Datang</h3>
 <p>Anda Login sebagai : <b><?php echo $_SESSION['username']; ?></b></p>
 <a href="logout.php" class="btn btn-danger">Log Out</a>

<?php
 $query2 = mysql_query("SELECT * FROM tabel_penyakit ORDER BY id_penyakit");

if($_SESSION['level']=='super_admin'){

 $query = mysql_query("SELECT * FROM user ORDER BY username");

?>
 <br />
 <hr />
 <label><h3>Daftar User</h3></label>
 <table class="table table-bordered table-striped table-condensed">
 <thead>
 <tr>
 <th>Username</th>
 <th>Nama Admin</th>
 <th>Level Admin</th>
 <th>Action</th>
 </tr>
 </thead>
 <tbody>
 <?php
 while($data=mysql_fetch_array($query)){
 echo"
 <tr>
 <td>".$data['username']."</td>
 <td>".$data['nama']."</td>
 <td>".$data['level']."</td>
 <td>
 <a class='btn btn-success' href='edit_user.php?id=".$data['username']."'>Edit</a>
 <a class='btn btn-danger' href='delete.php?sesi=user&id=".$data['username']."'>Hapus</a>
 </td>
 </tr>
 ";
 }
 ?>
 </tbody>
 </table>
 <a href="tambah_user.php" class="btn btn-primary">Tambah User</a>

<!-- Daftar Penyakit -->
 <hr />
 <h3>Data Penyakit</h3>
 <table class="table table-bordered table-striped table-condensed">
 <thead>
 <tr>
 <th>Nama Penyakit</th>
 <th>Keterangan</th>
 <th>Action</th>
 </tr>
 </thead>
 <tbody>
 <?php
 while($data=mysql_fetch_array($query2)){
 echo"
 <tr>
 <td>".$data['nama_penyakit']."</td>
 <td>".$data['keterangan']."</td>
 <td>
 <a class='btn btn-success' href='edit_penyakit.php?id=".$data['id_penyakit']."'>Edit</a>
 <a class='btn btn-danger' href='delete.php?sesi=tabel_penyakit&id=".$data['id_penyakit']."'>Hapus</a>
 </td>
 </tr>
 ";
 }
 ?>
 </tbody>
 </table>
 <a href="tambah_penyakit.php" class="btn btn-primary">Tambah Penyakit</a>
 <?php }
 else if($_SESSION['level']=='admin'){
 ?>

 <h3>Data Penyakit</h3>
 <table class="table table-bordered table-striped table-condensed">
 <thead>
 <tr>
 <th>Nama Penyakit</th>
 <th>Keterangan</th>
 <th>Action</th>
 </tr>
 </thead>
 <tbody>
 <?php
 while($data=mysql_fetch_array($query2)){
 echo"
 <tr>
 <td>".$data['nama_penyakit']."</td>
 <td>".$data['keterangan']."</td>
 <td>
 <a class='btn btn-success' href='edit_kategori.php?id=".$data['id_penyakit']."'>Edit</a>
 <a class='btn btn-danger' href='delete.php?sesi=tabel_penyakit&id=".$data['id_penyakit']."'>Hapus</a>
 </td>
 </tr>
 ";
 }
 ?>
 </tbody>
 </table>
 <a href="tambah_penyakit.php" class="btn btn-primary">Tambah Penyakit</a>
 <?php }
 else if($_SESSION['level']=='operator'){
 ?>

<br />
 <hr />
 <label><h3>Daftar Penyakit</h3></label>
 <table class="table table-bordered table-striped table-condensed">
 <thead>
 <tr>
 <th>Nama Penyakit</th>
 <th>Keterangan</th>
 </tr>
 </thead>
 <tbody>
 <?php
 while($data=mysql_fetch_array($query2)){
 echo"
 <tr>
 <td>".$data['nama_penyakit']."</td>
 <td>".$data['keterangan']."</td>
 </tr>
 ";
 }
 ?>
 </tbody>
 </table>
 <?php
 }else{
 echo"Anda tidak berhak untuk melihat halaman ini -__-";
 }
 } ?>

</div>
</body>
</html

dibawah ini merupakan tampilan dari super_admin

superadmin

dibawah ini merupakan tampilan admin bila kita login dengan admin

admin

kemudian di bawah ini tampilan operator bila login dengan operator yang hanya dapat melihat data saja

operator
selanjutnya kita buat file untuk menambahkan user dengan format file tambah_user.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->

<?php session_start(); include"koneksi.php";?>
<html>
<head><title>Tambah User</title>
 <!-- Bootstrap -->
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/jumbotron.css" rel="stylesheet">
 <link rel="stylesheet" href="css/sign.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="span2">
 <div class="span8">
<?PHP
// apa bila login berhasil tampilkan Pesan
if (isset($_SESSION['username'])&&(isset($_SESSION['level']))){

 ?>
 <h3>Tambah User</h3>
 <form method="POST" action="">
 <label>Nama</label>
 <input type="text" class="form-control" name="nama" placeholder="Nama">
 <label>Username</label>
 <input type="text" class="form-control" name="username" placeholder="Username">
 <label>Password</label>
 <input type="password" class="form-control" name="password" placeholder="Password">
 <label>Level</label>
 <select name="level" class="form-control">
 <option value="super_admin">Super Admin</option>
 <option value="admin">Admin</option>
 <option value="operator">Operator</option>
 </select><br>
 <button type="submit" class="btn btn-primary">Tambah</button>
 </form>

<?php } ?>
<?php
if($_POST){

 $nama=$_POST['nama'];
 $username=$_POST['username'];
 $password=md5($_POST['password']);
 $level=$_POST['level'];

 $insert=mysql_query("INSERT INTO user (nama,username,password,level) VALUES ('$nama','$username','$password','$level')");

 if($insert){
 header('location:sadmin.php');
 }else{
 echo'ERROR'.mysql_error();
 }
}
?>
</div>
<div class="span2"></div>
</div>
</div>
</body>
</html

maka tampilan tambah_user akan seperti ini

tambahuser

kemudian buat file edit user dengan format file edit_user.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->
<?php session_start(); include"koneksi.php";?>
<html>
<head><title>Edit User</title>
 <!-- Bootstrap -->
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/jumbotron.css" rel="stylesheet">
 <link rel="stylesheet" href="css/sign.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="span2">
 <div class="span8">
 <?php
 $id=$_GET['id'];

 $data=mysql_fetch_array(mysql_query("SELECT * FROM user WHERE username='$id'"));
 ?>
 <h3>Edit User</h3>
 <form method="POST" action="">
 <label>Nama</label>
 <input type="text" class="form-control" name="nama" placeholder="Nama" value="<?php echo $data['nama'] ?>">
 <label>Username</label>
 <input type="text" class="form-control" name="username" placeholder="Username" value="<?php echo $data['username'] ?>">
 <label>Password</label>
 <input type="password" class="form-control" name="password" placeholder="Password">
 <label>Level</label>
 <select name="level" class="form-control">
 <option <?php echo $data['level'] == "super_admin" ? 'selected="selected"' : '';?> value="super_admin">Super Admin</option>
 <option <?php echo $data['level'] == "admin" ? 'selected="selected"' : '';?> value="admin">Admin</option>
 </select><br>
 <button type="submit" class="btn btn-primary">Edit</button>
 </form>

<?php
if($_POST){
 $id=$data['username'];

 $nama=$_POST['nama'];
 $username=$_POST['username'];
 $pass=$_POST['password'];
 $level=$_POST['level'];

 if($pass==''){
 $password=$data['password'];
 }else{
 $password=md5($pass);
 }

 $insert=mysql_query("UPDATE user SET username='$username',password='$password',nama='$nama',level='$level' WHERE username='$id'");

 if($insert){
 header('location:sadmin.php');
 }else{
 echo'ERROR'.mysql_error();
 }
}
?>
</div>
</div>
</div>
</div>
</body>
</html

maka tampilan edit user akan seperti ini

edituser

Selanjutnya kita buat file untuk menambahkan data penyakit dengan format file tambah_peyakit.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->

<?php session_start(); include"koneksi.php";?>
<html>
<head><title>Tambah Penyakit</title>
 <!-- Bootstrap -->
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/jumbotron.css" rel="stylesheet">
 <link rel="stylesheet" href="css/sign.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="span2">
 <div class="span8">
<?PHP
// apa bila login berhasil tampilkan Pesan
if (isset($_SESSION['username'])&&(isset($_SESSION['level']))){

 ?>
 <h3>Tambah Penyakit</h3>
 <form method="POST" action="">
 <label>Id Penyakit</label>
 <input type="text" class="form-control" name="id_penyakit" placeholder="Id Penyakit">
 <label>Nama Penyakit</label>
 <input type="text" class="form-control" name="nama_penyakit" placeholder="Nama Penyakit">
 <label>Keterangan</label>
 <textarea class="form-control" name="keterangan" rows="3"></textarea>
 <button type="submit" class="btn btn-primary">Tambah</button>
 </form>

<?php } ?>
<?php
if($_POST){

 $id_penyakit=$_POST['id_penyakit'];
 $nama_penyakit=$_POST['nama_penyakit'];
 $keterangan=($_POST['keterangan']);

 $insert=mysql_query("INSERT INTO tabel_penyakit (id_penyakit,nama_penyakit,keterangan)
 VALUES ('$id_penyakit','$nama_penyakit','$keterangan')");

 if($insert){
 header('location:sadmin.php');
 }else{
 echo'ERROR'.mysql_error();
 }
}
?>
</div>
<div class="span2"></div>
</div>
</div>
</body>
</html

maka tampilan  tambah penyakit akan seperti ini

tambahpenyakit
kemudian buat data edit penyakit dengan format file edit_penyakit.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->
<?php
session_start();
include"koneksi.php";
$id=$_GET['id'];
$data=mysql_fetch_array(mysql_query("SELECT * FROM tabel_penyakit WHERE id_penyakit='$id'"));
?>
 <!-- Bootstrap -->
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/jumbotron.css" rel="stylesheet">
 <link rel="stylesheet" href="css/sign.css">
<div class="container">
<div class="row">
<div class="span2">
 <div class="span8">
 <h3>Edit Penyakit</h3>
<form method="post" action="">
 <label>Nama Penyakit</label>
 <input type="text" class="form-control" name="nama_penyakit" value="<?php echo $data['nama_penyakit']; ?>" />
 <label>Keterangan</label>
 <textarea name="keterangan" class="form-control"><?php echo $data['keterangan']; ?></textarea><br />
 <button type="submit" class="btn btn-primary">Edit</button>
</form>
</div>
</div>
</div>
</div>

<?php
if($_POST){
 $id_penyakit=$data['id_penyakit'];
 $nama_penyakit=$_POST['nama_penyakit'];
 $keterangan=$_POST['keterangan'];

 $update=mysql_query("UPDATE tabel_penyakit SET nama_penyakit='$nama_penyakit',keterangan='$keterangan' WHERE id_penyakit='$id'");

if($update){
 header('location:sadmin.php');
}else{
 echo mysql_error();
}

}

?>

maka tampilan edit_penyakit akan seperti ini

editpenyakit
Selanjutnya yang terakhir yaitu membuat file untuk menDelete data pada database

kita buat format file dengan nama delete.php


<!--
Author : Singgih Saputro
Twitter : @singgihsap
URI : www.about.me/singgihsaputra
-->
<?php
session_start();
include"koneksi.php";

$sesi=$_GET['sesi'];

if($sesi=='user'){
 $id=$_GET['id'];

 $query=mysql_query("DELETE FROM user WHERE username='$id'");

 if($query){header('location:sadmin.php');}
}else if($sesi=='tabel_penyakit'){
 $id=$_GET['id'];

 $query=mysql_query("DELETE FROM tabel_penyakit WHERE id_penyakit='$id'");
 if($query){header('location:sadmin.php');}
}
?>

jangan lupa biar semua tampilan seperti diatas dengan menggunakan css bootstrap.

file di atas dapat di download disini untuk kepentingan belajar,

file berisi data php dan database data_penyakit.sql

SEMOGA BERMANFAAT🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s