Cara Membuat Form HTML POST dan GET PHP
Pada kesempatan kali ini nyekrip akan membahas cara membuat form HTML dengan metode POST dan GET pada PHP, ketika kita mengisi data pada sebuah form, informasi yang kita isi dalam form tersebut dapat disampaikan dan ditransfer ke halaman web yang sama atau halaman web lain. Untuk bisa mengirim data dari form, kita bisa menggunakan metode GET dan POST pada PHP.
Perbedaan Pengunaan POST dan GET di PHP
Sebuah data dari form dapat di-submit (disampaikan) melalui dua metode diatas. Kedua metode tersebut sebenarnya memiliki tujuan yang sama, perbedaannya terletak pada cara mengirimkan data yang telah diterima. Jika metode GET menampilkan nilai data pada url untuk mengirimkan data, maka metode POST menyembunyikan nilai data tersebut pada url.
Form mengirimkan informasi dengan cara menambahkan data pada url dalam bentuk string Query yang terdiri dari
nama_data=nilai_data
secara berpasangan. String ini mengandung nama dan nilai data, yang di-pisah dengan ampersand &
, sedangkan jika data mengandung spasi maka akan di pisah dengan tanda plus +
.
1
|
?nama=nyekrip&alamat=web
|
Jika dipetakan lebih rinci, maka perbedaan kedua metode diatas adalah.
Metode POST
- Menyembunyikan variabel pada URL
- Lebih aman
- Tidak ada batasan panjang string
- Menggunakan
$_POST
dalam pengambilan variabel - Lebih sering digunakan pada input data melalui form
- Penggunaan pada data-data penting seperti password
Metode GET
- Menampilkan variabel pada URL
- Kurang aman
- batasan panjang string sampai 2047 karakter
- Menggunakan
$_GET
dalam pengambilan variabel - Lebih sering digunakan untuk input data melalui link
- Penggunaan pada data-data yang kurang penting
Download Form HTML Menggunakan POST dan GET PHP
Untuk lebih memahami dalam perbedaan penggunaan POST dan GET pada PHP, maka kita akan membuat form dengan menggunakan metode GET dan POST, hasil tersebut akan tampil seperti gambar berikut.
INFO: Jika anda download skrip ini dan ingin dicoba di komputer atau laptop, jangan lupa untuk menjalankan web server terlebih dahulu karena terdapat skrip PHP didalamnya, kalau belum punya web server yang ter-install silahkan kunjungi artikel ” Cara Install XAMPP Web Server di Windows “.
Oke, kita sudah mengetahui secara umum bagaimana metode GET dan metode POST bekerja. Untuk lebih jelas, mari kita bahas secara lebih rinci.
Cara Membuat Form HTML dengan Metode GET PHP
Seperti yang sudah dijelaskan diatas, sebelum sebuah form mengirimkan informasi apapun, form tersebut akan mengkonversi nilai data ke dalam string Query pada URL yang dikenal dengan teknik Url Encoding.
Dalam URL tersebut terdiri dari dari link halaman itu sendiri dan link string Query yang dipisahkan dengan karakter tanda tanya
?
. Lebih jelasnya perhatikan URL berikut.
1
|
http://localhost/nyekrip-form-php/index.php?fnama=NYEKRIP&lalamat=WEB&method=get&submit=Submit
|
Mari kita mulai dengan membuat Form HTML dengan
method ="get"
, form ini akan dijalankan pada sisi klien dan berfungsi untuk user untuk mengisi informasi.
1
2
3
4
5
|
<form action="#" method="get">
<input type="text" name="nama" placeholder="Nama Kita"></input><br/>
<input type="text" name="alamat" placeholder="Alamat Kita"></input><br/>
<input type="submit" name="submit" value="Submit"></input>
</form>
|
Setelah membuat Form HTML, selanjutnya kita membuat kode PHP
$_GET
untuk menerima informasi yang telah dikirim oleh Form.
1
2
3
4
5
6
7
|
<?php
if( $_GET["nama"] || $_GET["alamat"])
{
echo "Halo: ". $_GET['nama']. "<br />";
echo "Alamat Anda: ". $_GET["alamat"]. "<br />";
}
?>
|
Selain itu, hindari penggunaan metode ini jika yang data yang dikirimkan berupa data biner seperti mengirimkan gambar atau dokumen Word.
Sumber dari PHP: $_GET – Manual
Cara Membuat Form HTML dengan Metode POST PHP
Seperti yang sudah dijelaskan diatas mengenai perbedaan penggunaan metode POST dan GET PHP, bahwa pada metode POST mengirimkan data secara tersembunyi yaitu dengan cara menyembunyikan nilai data tersebut pada url.
Langkah yang sama seperti diatas, pertama yang kita lakukan adalah membuat form HTML. Perbedaan pada saat pembuatan form terletak pada saat penambahan atribut method pada elemen form. Jika pada metode GET menggunakan atribut
method ="get"
, maka pada metode post menggunakan atribut method ="post"
.
1
2
3
4
5
|
<form action="#" method="post">
<input type="text" name="nama" placeholder="Nama Kita"></input><br/>
<input type="text" name="alamat" placeholder="Alamat Kita"></input><br/>
<input type="submit" name="submit" value="Submit"></input>
</form>
|
Selanjutnya kita membuat kode PHP untuk menangkap data hasil kiriman form tersebut. Jika pada metode GET kita menggunakan
$_GET
, maka pada metode post kita menggunakan $_POST
.
1
2
3
4
5
6
7
|
<?php
if( $_POST["nama"] || $_POST["alamat"])
{
echo "Halo: ". $_POST['nama']. "<br />";
echo "Alamat Anda: ". $_POST["alamat"]. "<br />";
}
?>
|
String Query yang di-generate menggunakan metode POST tidak akan ditampilkan dalam address bar, dengan seperti itu kita bisa mengirimkan data secara lebih aman. Selain itu kita juga bisa mengirim data biner ke server tanpa batasan ukuran data.
Sumber dari PHP: $_POST – Manual
Skrip atau Kode Lengkap Cara Membuat Form HTML
Untuk memahami lebih dalam tentang perbedaan penggunaan, mari kita membuat Form seperti demo diatas. Jika anda belum terlalu mengenal skrip HTML dan ingin berlatih membuat halaman HTML sederhana, silahkan anda mengunjungi artikel ” CARA MEMBUAT HALAMAN WEB SEDERHANA “
Membuat Form HTML: index.php
Berikut adalah skrip HTML untuk membuat Form.
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
|
<!DOCTYPE html>
<html>
<head>
<title>PHP GET and POST Method Example</title>
<link rel="stylesheet" href="css/style.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/metode.js"></script>
</head>
<body>
<div class="container">
<div class="main">
<form method="get" action="index.php" id="form">
<h2>NYEKRIP.COM FORM HTML DENGAN PHP</h2><hr/>
<label>Nama :</label>
<input type="text" name="fnama" id="fnama" />
<label>Alamat :</label>
<input type="text" name="lalamat" id="lalamat" />
<label>Pilih Metode :</label>
<span><input type="radio" name="method" value="get" checked> GET
<input type="radio" name="method" value="post" > POST </span>
<input type="submit" name="submit" id="submit" value="Submit">
</for>
<?php include "proses.php";?>
</div>
</div>
</body>
</html>
|
Membuat Skrip/Kode PHP: proses.php
Berikut adalah kode PHP dengan menggunakan metode POST dan GET.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
if(isset($_POST['fnama']))
{
$fnama = $_POST['fnama'];
$lalamat = $_POST['lalamat'];
echo "<span class='success'>Dengan <b>METODE POST</b></span><br/>";
echo "Nama : ".$fnama."<br/>Alamat : ".$lalamat;
}
//--------------------------------------------------------------------
if(isset($_GET['fnama']))
{
$fnama = $_GET['fnama'];
$lalamat = $_GET['lalamat'];
echo "<span class='success'>Dengan <b>METODE GET</b></span><br/>";
echo "Nama : ".$fnama."<br/>Alamat : ".$lalamat;
}
?>
|
Membuat Skrip jQuery: metode.js
Pada skrip berikut kita menggunakan javascript untuk menangkap nilai dari radio button. Nilai dari radio button tersebut menentukan metode apa yang akan kita pakai.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
$(document).ready(function(){
$("input[type=radio]").change(function(){
var method = $(this).val();
$("#form").attr("method", method);
});
$("#submit").click(function(){
var fnama = $("#fnama").val();
var lalamat = $("#lalamat").val();
if( fnama != '' || lalamat !='' ){
return true;
}
else{
alert("Tolong diisi...!!!!!!");
return false;
}
});
});
|
Membuat skrip CSS: style.css
Seperti biasa agar tampilan form lebih bagus, kita akan menambahkan skrip CSS berikut.
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
|
.container {
width: 50%;
margin: 0 auto;
}
h2{
background-color: #53bd84;
padding: 30px 35px;
margin: -10px -50px;
text-align:center;
color: #fff;
}
span{
display: block;
margin-bottom: 20px;
color: red;
}
.success{
display: block;
margin-top: 20px;
margin-bottom: 0;
font-size: 14px;
}
b{
color:green;
}
hr{
margin: 10px -50px;
border: 0;
border-top: 1px solid #ccc;
margin-bottom: 25px;
}
div.main{
width: 306px;
padding: 10px 50px 30px;
border: 2px solid gray;
font-family: raleway;
float:left;
margin-top:15px;
}
input[type=text]{
width: 96%;
height: 25px;
padding: 5px;
margin-bottom: 25px;
margin-top: 5px;
border: 2px solid #ccc;
color: #53bd84;
font-size: 16px;
}
input[type=radio]{
margin: 10px 10px 0 10px;
}
label{
color: #53bd84;
text-shadow: 0 1px 0 #fff;
font-size: 14px;
font-weight: bold;
}
input[type=submit]{
font-size: 16px;
background: linear-gradient(#53bd84 5%, #fff 100%);
color: #4E4D4B;
font-weight: bold;
cursor: pointer;
width: 100%;
padding: 10px 0;
outline:none;
}
|
Sekian tutorial Cara membuat Form HTML dengan POST dan GET di PHP, semoga dengan mengetahui perbedaan penggunaan dalam membuat Form HTML menggunakan metode POST dan metode GET, diharapkan agar kita lebih condong untuk menggunakan metode POST karena metode ini selain aman juga bebas dari batasan ukuran data (kasus mengirim data biner).
Happy Nyekrip!
Komentar
Posting Komentar