Crud (Create, Read, Update, dan Delete) adalah kebutuhan sebuah aplikasi
web yang dinamis untuk mengolah data, dengan membuat crud menggunakan
httaccess kita dapat menghindari dan melindungi website kita dari
serangan sql injection yang sering dilakukan oleh crakcer untuk Deface
web melalui id dari database, disini saya akan membahas bagaimana cara
membuat CRUD & pagination Dengan httaccess yang mungkin menjadi
kebutuhan dan solusi dari permasalahan yang sobat hadapi, oke langsung
saja ….
Langkah pertama
Sebelum memulai membuat crud dengan httaccess, kita harus tau terlebih dahulu tau apa itu yang disebut dengan httaccess?.
Htaccess adalah file konfigurasi yang disediakan oleh web server apache,
yang biasanya digunakan untuk mengubah settingan default dari apache.
Htaccess biasanya diletakkan pada root direktori. Htaccess harus dalam
format ASCII dan dengan permission yang diset pada 644 (rw-r-r) dengan
tujuan membuat server dapat mengakses file .htaccess sedangkan visitor
website tidak dapat mengakses htaccess dari browser.
Kode perintah dalam htaccess harus ditempatkan dalam satu baris, jadi
jika kita menggunakan notepad untuk membuat htaccess maka kita harus
mendisable fungsi wordwrap pada notepad.
Fungsi Htaccess
Kustomisasi error message
Overide SSl settings
Merubah default Homepage
Enable directory browsing
Mem-block user yang akan mengakses website
Meredirect / mengarahkan pengunjung website ke halaman lain
Mencegah Hot linking dan bandwith leeching
Httaccess merupakan file teks biasa, cara membuatnya gunakan text editor
seperti sublime text atau notepad++ dan simpan dengan nama .httaccess
kedalam folder root aplikasi sobat, biasanya file ini terhidden jadi
lakukan perintah untuk show hidden file.
Dibawah adalah contoh file .httaccess yang akan kita gunakan didalam tutorial ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <!-- RewriteEngine on RewriteRule ^index.html$ ?page=home [L] RewriteRule ^about.html$ ?page=about [L] RewriteRule ^blog.html$ ?page=blog [L] RewriteRule ^addblog(.*)\.html$ ?page=addblog [L] RewriteRule ^save(.*)\.html$ ?page=saveblog [L] RewriteRule ^Readblog@_@(.*)\.html$ ?page=readblog&blog_id= $1 [L] RewriteRule ^Editblog@_@(.*)\.html$ ?page=editblog&blog_id= $1 [L] RewriteRule ^update(.*)\.html$ ?page=update [L] RewriteRule ^deleteblog@_@(.*)\.html$ ?page=deleteblog&blog_id= $1 [L] RewriteRule ^page_blog-(.*)\.html$ ?page=blog&page_blog= $1 [L] RewriteRule ^contact.html$ ?page=contact [L] Options All -Indexes --> |
Keterangan kode .httaccess diatas
RewriteEngine On, Mengaktifkan RewriteEngine
RewriteCond merupakan salah satu directive pada modul mod _rewrite yang berguna untuk mengecek kondisi tertentu.
RewriteRule, berguna untuk mecari pola url dan jika ketemu akan
mereplacenya dengan url yang kita inginkan. RewriteRule merupakan Aturan
penulisan ulang. Contohnya RewriteRule ^index.html$ ?page=home [L],
kita mereplace ?page=home dengan index.html dan [L] adalah perintah
untuk menghentikan penulisan ulang index.html jika sudah ketemu.
Options All -Indexes
Options All -Indexes artinya Untuk mengijinkan Directory Listing,sobat
dapat menghapus line tersebut atau mengganti tanda - dengan tanda +.
^ = Awal pengujian regresi
() = pengelompokan atau grup
* = semua atau wildcard, biasanya dipakai dengan notasi .*
{0,1} = jangkauan mulai dari 0 sampai 1
$ = Akhir regresi
[QSA] = Append Query String: menambahkan langsung string query ke akhir ekspresi (URL).
[L] = Last Rule: menginstruksikan server untuk menghentikan penulisan
ulang (rewriting) jika telah ditemukan yang sesuai dengan rule.
Pada tutorial ini kita hanya menggunakan beberpa code yaitu (.*)\,[L],^.
Tapi ingat berhati-hatilah dalam menggunakan httaccess, jika sobat
memutuskan untuk menggunakan httaccess untuk project website sobat, maka
pertahankanlah untuk menggunakannya sampai project sobat selesai, untuk
link file js,css,images saya sarankan sobat tetap menggunakan link
absolute artinya tanpa menggunakan httaccess, gunakanlah httaccess
dengan bijak dan benar.
Langkah kedua
Buatlah file .httaccess dengan editor kesayang sobat, dan letakkan di
dalam folder aplikasi sobat, kemudian copy atau ketik kode dibawah ini,
contoh nya folder saya terdapat di C:\xampp\htdocs\php\httaccess\.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <!-- RewriteEngine on RewriteRule ^index.html$ ?page=home [L] RewriteRule ^about.html$ ?page=about [L] RewriteRule ^blog.html$ ?page=blog [L] RewriteRule ^addblog(.*)\.html$ ?page=addblog [L] RewriteRule ^save(.*)\.html$ ?page=saveblog [L] RewriteRule ^Readblog@_@(.*)\.html$ ?page=readblog&blog_id= $1 [L] RewriteRule ^Editblog@_@(.*)\.html$ ?page=editblog&blog_id= $1 [L] RewriteRule ^update(.*)\.html$ ?page=update [L] RewriteRule ^deleteblog@_@(.*)\.html$ ?page=deleteblog&blog_id= $1 [L] RewriteRule ^page_blog-(.*)\.html$ ?page=blog&page_blog= $1 [L] RewriteRule ^contact.html$ ?page=contact [L] Options All -Indexes --> |
Jika sudah dicopy atau diketik lalu save, dan ikuti langkah selanjutnya
Langkah ketiga
Buat database sesuai dengan nama sesuai dengan keinginan sobat, lalu buat tabel dengan nama blog
1
2
3
4
5
6
7
8
9
10
| <!-- CREATE TABLE `blog` ( `blog_id` int(11) NOT NULL AUTO_INCREMENT, `subject` varchar(255) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, `update_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`blog_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; --> |
Langkah Keempat
Buat koneksi database dengan nama koneksi.php, lalu ketik code dibawah ini
1
2
3
4
5
6
7
8
9
| <!-- <?php $host = "localhost" ; $user = "root" ; $pass = "" ; mysql_connect( $host , $user , $pass ) or die ( "Error Connect DB " .mysql_error()); mysql_select_db( "dbphp" ) or die ( "Database Tidak Ada. " .mysql_error()); ?> --> |
Langkah Kelima
Saya menggunakan bootsrap untuk tutorial ini , sebelum melakukan
intruksi selanjutnya sobat download terlebih dahulu bootstrap disini,
dan extract di folder root aplikasi sobat. Kemudian ikuti langkah
dibawah ini.
Buat file dengan nama index.php, lalu ketik code dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| <!-- <!doctype html> <html lang= "en" > <head> <title>Aguzrybudy.com | Mempercantik Link Dengan Httaccess</title> <meta content= "width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" name= "viewport" /> <meta content= "Aguzrybudy" name= "author" /> <link href= "css/bootstrap.css" rel= "stylesheet" > <link href= "css/style.css" rel= "stylesheet" > <script src= "js/jquery.min.js" ></script> <script src= "js/bootstrap.min.js" ></script> </head> <body> <nav class = "navbar navbar-default navbar-fixed-top" > <div class = "container" > <div class = "navbar-header" > <button type= "button" class = "navbar-toggle collapsed" data-toggle= "collapse" data-target= "#navbar" aria-expanded= "false" aria-controls= "navbar" > <span class = "sr-only" >Toggle navigation</span> <span class = "icon-bar" ></span> <span class = "icon-bar" ></span> <span class = "icon-bar" ></span> </button> <a class = "navbar-brand" href= "index.php" >Aguzrybudy</a> </div> <div id= "navbar" class = "navbar-collapse collapse" > <ul class = "nav navbar-nav" > <li class = "active" ><a href= "index.html" >Home</a></li> <li><a href= "blog.html" >Blog</a></li> <li><a href= "about.html" >About</a></li> <li><a href= "contact.html" >Contact</a></li> </ul> <ul class = "nav navbar-nav navbar-right" > <li class = "active" ><a href= "#" >Httaccess<span class = "sr-only" >(current)</span></a></li> </ul> </div> </div> </nav> <div id= "wrapper" > <div class = "container" > <div class = "jumbotron" > <h3> Mempercantik Url CRUD (Create, Read, Update, Delete ) Menggunakan Httaccess</h3> <p> By Aguzrybudy, Sabtu 23 April 2016</p> <p> <a href= "#" class = "btn btn-success" >PHP 5.6</a></p> </div> </div> <div class = "container" > <div class = "jumbotron" > <?php include "page.php" ;?> </div> </div> </div> </body> </html> --> |
Langkah Keenam
Buatlah file dengan nama page.php, kemudian ketik kode dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <!-- <?php error_reporting (0); if ( $_GET [ 'page' ] == "home" ){ include "home.php" ; } elseif ( $_GET [ 'page' ] == "blog" ){ include "blog.php" ; } elseif ( $_GET [ 'page' ] == "addblog" ){ include "add_blog.php" ; } elseif ( $_GET [ 'page' ] == "saveblog" ){ include "save.php" ; } elseif ( $_GET [ 'page' ] == "readblog" ){ include "detailblog.php" ; } elseif ( $_GET [ 'page' ] == "editblog" ){ include "edit_form.php" ; } elseif ( $_GET [ 'page' ] == "update" ){ include "update.php" ; } elseif ( $_GET [ 'page' ] == "deleteblog" ){ include "delete_blog.php" ; } elseif ( $_GET [ 'page' ] == "about" ){ include "about.php" ; } elseif ( $_GET [ 'page' ] == "contact" ){ include "contact.php" ; } else { echo "Berhati-hatilah dalam menggunakan Httaccess" ; } ?> --> |
Langkah Ketujuh
Buatlah file dengan nama class_paging.php, kemudian ketik kode dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
| <!-- <?php class paging_blog{ function cariPosisi( $batas ){ if ( empty ( $_GET [ 'page_blog' ])){ $posisi =0; $_GET [ 'page_blog' ]=1; } else { $posisi = ( $_GET [ 'page_blog' ]-1) * $batas ; } return $posisi ; } // Fungsi untuk menghitung total halaman function jumlahHalaman( $jmldata , $batas ){ $jmlhalaman = ceil ( $jmldata / $batas ); return $jmlhalaman ; } // Fungsi untuk link halaman 1,2,3 function navHalaman( $halaman_aktif , $jmlhalaman ){ $link_halaman = " <li></li> "; // Link ke halaman pertama (first) dan sebelumnya (prev) if ( $halaman_aktif > 1){ $prev = $halaman_aktif -1; $link_halaman .= " <li><a href=page_blog-1.html>First</a></li> <li><a href=page_blog- $prev .html> Prev</a></li> "; } else { $link_halaman .= " <li ><a href= '#' aria-label= 'Previous' ><span aria-hidden= 'true' >Prev</span></a></li> "; } // Link halaman 1,2,3, ... $angka = ( $halaman_aktif > 3 ? " <li><span aria-hidden= 'true' >...</span> " : " </li> "); for ( $i = $halaman_aktif -2; $i < $halaman_aktif ; $i ++){ if ( $i < 1) continue ; $angka .= "<li><a href=page_blog- $i .html> $i </a></li> "; } $angka .= " <li class = 'active' ><span aria-hidden= 'true' > $halaman_aktif </span></li> "; for ( $i = $halaman_aktif +1; $i <( $halaman_aktif +3); $i ++){ if ( $i > $jmlhalaman ) break ; $angka .= " <li><a href=page_blog- $i .html> $i </a></li> "; } $angka .= ( $halaman_aktif +2< $jmlhalaman ? " <li><span aria-hidden= 'true' >...</span><a href=page_blog- $jmlhalaman .html> $jmlhalaman </a> " : " </li> "); $link_halaman .= " <li> $angka </li> "; // Link ke halaman berikutnya (Next) dan terakhir (Last) if ( $halaman_aktif < $jmlhalaman ){ $next = $halaman_aktif +1; $link_halaman .= " <li><a href=page_blog- $next .html>Next</a></li> <li><a href=page_blog- $jmlhalaman .html>Last </a> <li>"; } else { $prev = $halaman_aktif -1; $link_halaman .= " <li><a href= 'page_blog-$next.html' aria-label= 'Previous' ><span aria-hidden= 'true' >Next</span></a></li> "; } return $link_halaman ; } } ?> --> |
Langkah Kedelapan
Buatlah file dengan nama home.php, kemudian ketik code dibawah ini.
1
2
3
4
5
| <!-- <h3> Homepage </h3> --> |
Langkah kesembilan
Buatlah file dengan nama blog.php, kemudian ketik kode dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| <!-- <a href= "addblog.html" class = "btn btn-primary" >Add Blog</a> <?php include "koneksi.php" ; include "class_paging.php" ; $p = new paging_blog; $batas = 5; $posisi = $p ->cariPosisi( $batas ); $data_blog =mysql_query("SELECT * FROM blog ORDER BY blog_id DESC LIMIT $posisi , $batas "); $no =1; while ( $row =mysql_fetch_array( $data_blog )){ ?> <h4> <?php echo $row [ 'subject' ]; ?></h4> <h5> <?php echo $row [ 'description' ]; ?></h5> <h6> <?php echo $row [ 'created_at' ]; ?></h6> <a href= "Readblog@_@<?php echo $row['subject']; ?>.html" class = "btn btn-info" >Read</a> <a href= "Editblog@_@<?php echo $row['subject']; ?>.html" class = "btn btn-warning" >Edit</a> <a href= "deleteblog@_@<?php echo $row['subject']; ?>.html" class = "btn btn-danger" > Delete </a> <?php $no ++; } $jmldata = mysql_num_rows(mysql_query( "SELECT * FROM blog" )); $jmlhalaman = $p ->jumlahHalaman( $jmldata , $batas ); $linkHalaman = $p ->navHalaman( $_GET [ 'page_blog' ], $jmlhalaman ); echo " <div class = 'pagination-wrap' > <ul class = 'pagination' > <li class = '' > $linkHalaman </li> </ul> </div> "; ?> --> |
Langkah Kesepuluh
Buatlah file dengan nama add_blog.php, kemudian ketik code dibawah ini
<form method="POST" action="save.html">
<div class="form-group">
<label for="Subject">Subject</label>
<input type="text" class="form-control" id="Subject" placeholder="Subject" name="subject">
</div>
<div class="form-group">
<label for="Description">Description</label>
<textarea class="form-control" id="Description" placeholder="Description" name="description"></textarea>
</div>
<div class="form-group">
<label for="Date">Date</label>
<input type="text" class="form-control" id="Date"
placeholder="<?php echo date("F j, Y, g:i a") ;?>" name="date"
disabled>
</div>
<button type="submit" class="btn btn-primary">Save</button>
<button type="reset" class="btn btn-danger">Reset</button>
</form>
Langkah Kesebelas
Buatlah file dengan nama delete_blog.php, kemudian ketik kode dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <!-- <?php include "koneksi.php" ; $blog_id = $_GET [ 'blog_id' ]; $sql = mysql_query( "Delete From blog where blog_id='$blog_id' or subject='$blog_id'" ); ?> <div class = "alert alert-success" role= "alert" > <strong>Well done!</strong> You successfully Delete this Blog. <p> untuk melihat hasilnya back dan refresh halaman oke </p> </div> <a href= "#" onclick= "self.history.back()" class = "btn btn-info" >Back</a> --> |
Langkah Kedua Belas
Buatlah file dengan nama edit_form.php, kemudian ketik code dibawah ini
<?php
include "koneksi.php";
$blog_id = $_GET['blog_id'];
$sql = mysql_query("select * from blog where blog_id='$blog_id' or subject='$blog_id'");
while ($row = mysql_fetch_array($sql)){
?>
<form action="update.html" method="POST">
<h4>
Contoh form edit menggunakan httaccess</h4>
<fieldset class="form-group">
<label for="Subject">Subject</label>
<input type="hidden" class="form-control" id="blog_id" value="<?php echo $row['blog_id'];?>" name="blog_id">
<input type="text" class="form-control" id="Subject" value="<?php echo $row['subject'];?>" name="subject">
</fieldset>
<fieldset class="form-group">
<label for="Description">Description</label>
<textarea class="form-control" id="Description"
name="description"><?php echo
$row['description'];?></textarea>
</fieldset>
<fieldset class="form-group">
<label for="Date">Date</label>
<input type="text" class="form-control" id="Date" value="<?php echo $row['created_at'];?>" name="date" disabled>
</fieldset>
<fieldset class="form-group">
<label for="Date"></label>
<button type="submit" class="btn btn-success">Update</button>
<button type="button" class="btn btn-danger" onclick="self.history.back()">Back</button>
</fieldset>
</form>
<?php } ?>
Langkah Ketiga Belas
Buatlah file dengan nama detail_blog.php, kemudian ketik kode dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <!-- <?php include "koneksi.php" ; include "link_seo.php" ; $getName = explode ( "/" , $_SERVER [ 'REQUEST_URI' ]); $blog_id = $_GET [ 'blog_id' ]; $sql = mysql_query( "select * from blog where blog_id='$blog_id' or subject='$blog_id'" ); while ( $row = mysql_fetch_array( $sql )){ ?> <h3> <?php echo $row [ 'subject' ];?></h3> <p> <?php echo $row [ 'description' ];?></p> <p> <h3> <?php echo $row [ 'date' ];?></p> <a href= "#" onclick= "self.history.back()" class = "btn btn-info" >Back</a> <?php } ?> --> |
Langkah Keempat Belas
Buatlah file dengan nama save.php, kemudain ketik kode dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <!-- <div class = "alert alert-info" role= "alert" > <strong>Perhatian!</strong> Untuk proses simpan datanya buat sendiri, dibawah ini data hasil dari input postnya.. </div> <div class = "container" > <p> <?php echo $_POST [ 'subject' ];?></p> <p> <?php echo $_POST [ 'description' ];?></p> <p> <?php echo $_POST [ 'date' ];?></p> </div> <?php include "koneksi.php" ; $subject = $_POST [ 'subject' ]; $description = $_POST [ 'description' ]; $save = mysql_query( "INSERT INTO blog(subject,description) VALUES('$subject','$description')" ); if (! $save ) { echo "Gagal" , error_log ( $save ); } else { header( 'location:blog.html' ); } ?> <a href= "#" onclick= "self.history.back()" class = "btn btn-info" >Back</a> --> |
Langkah Keenam Belas
Buatlah file dengan nama update.php, kemudian ketik kode dibawah ini .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <!-- <div class = "alert alert-info" role= "alert" > <strong>Perhatian!</strong> Untuk proses simpan updatenya buat sendiri, dibawah ini data hasil dari input postnya. </div> <div class = "container" > <p> <?php echo $_POST [ 'subject' ];?></p> <p> <?php echo $_POST [ 'description' ];?></p> <p> <?php echo $_POST [ 'date' ];?></p> </div> <?php include "koneksi.php" ; $subject = $_POST [ 'subject' ]; $description = $_POST [ 'description' ]; $update = mysql_query( "UPDATE blog SET subject ='$subject',description='$description' WHERE blog_id ='$_POST[blog_id]'" ); if (! $update ) { echo "Gagal" ,mysql_error(); } else { header( 'location:blog.html' ); } ?> <a href= "#" onclick= "self.history.back()" class = "btn btn-info" >Back</a> --> |
Langkah Ketujuh Belas
Buatlah file dengan nama about.php, kemudian ketik kode dibawah ini
1
2
3
4
| <!-- <h3> I am Web Developer & Blogger</h3> --> |
Langkah Kesembilan Belas
Buatlah file dengan nama contact.php, kemudian ketik kode dibawah ini.
1
2
3
4
| <!-- <h2> Aguzrybudy.blogspot.co.id</h2> --> |
Dibawah merupakan screen picture hasil dari program diatas .
NB : Code diatas saya tulis di php 5.6
Sampai disini dulu tutorial dari saya , Semoga tutorial ini bermanfaat
bagi sobat, atas segala kekuranganya mohon dimaafkan dan di beri saran
untuk file PDF -NYA download disini dan jika sobat ingin code dari aplikasi diatas download disini.
Source : http://aguzrybudy.blogspot.co.id/2016/05/crud-create-read-update-delete.html
0 comments:
Post a Comment