Semangat untuk hari iniπ
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
Kali ini aku akan share ke kalian tentang POST and GET Request Konsep dari PHP, serta contoh beberapa persoalan seputar topik tersebut
Jadi apa sih pengertian POST Request dan GET Request??
⇔ POST Request
POST request adalah proses mengirim data (submit) melalui form yang berasal dari (X)HTML. Karena PHP adalah bahasa program atau scripting, maka PHP bisa digunakan untuk menerima data hasil submit tersebut. Data yang diterima nantinya bisa diproses dalam script PHP.
Untuk menerima data dari proses submit form dalam PHP, kita gunakan statement assignment berikut ini.
$namaVariabel = $_POST['nama komponen dalam form'];
Dalam hal ini, nama variabel boleh sama atau tidak sama dengan nama komponen dalam form. Namun… sangat disarankan, Anda membuat nama variabel yang berbeda dari nama komponen formnya untuk mencegah hal-hal yang tidak diinginkan, misalnya hacking.
Perhatikan contoh berikut ini:
Dalam contoh ini, kita coba membuat form HTML yang di dalamnya terdapat dua komponen input dua buah bilangan
input.htm
<html>
<head>
<title>Contoh Request POST</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<form method="post" action="proses.php">
Masukkan Bilangan 1 <input type="text" name="bil1" /><br />
Masukkan Bilangan 2 <input type="text" name="bil2" /><br />
<input type="submit" name="submit" value="Submit" /> </form>
</body>
</html>
Note :
- Jika membuat form harus mengingat 3 hal berikut, yaitu:
- Method → memilih metode form yang digunakan
- Action → memilih file atau tempat dimana ingin me-running program , apabila masih satu file maka kosongkan seperti contoh, apabila berbeda file maka masukkan nama file kedalam action
- Submit → digunakan untuk menjalankan program, dengan format seperti contoh di atas
- Format Submit :
- Input type → tentang type input apa yang di masukkan submit, reset, text, atau password. Ada name juga, digunakan untuk menamai submit tersebut dan terakhir ada value.
Sebenarnya masih banyak lagi macam-macam input type. Sementara hanya itu saja yang aku pelajari di mata kuliah pemrograman ku.
- Echo wajib ada dalam script proses , karena jika tidak maka nilai tersebut tidak akan muncul ke layar dan hanya di simpan di RAM
⇔ GET Request
Apabila POST request adalah proses merequest data melalui form, maka GET request adalah melalui URL.
Terkadang ketika browsing di internet, kita temukan URL atau link yang berbentuk misalnya seperti berikut ini
http://situs.com/script.php?a=4&b=6
Perhatikan bagian URL yang saya kasih bold tersebut. Bagian tersebut dinamakan parameter. Konsep GET Request pada prinsipnya mirip dengan POST. Nah… pada contoh URL di atas maksudnya adalah mensubmit atau mengirim data ke script bernama script.php. Apa yang dikirim? Yang dikirim adalah nilai a = 4 dan b = 6. Nilai yang dikirim tersebut nantinya akan dijadikan sebagai input pada proses yang terjadi di script.php.
Selanjutnya bagaimana membaca input dari GET request tersebut? Caranya adalah menggunakan $_GET['nama parameter'];
Akan saya berikan contoh script untuk menjumlahkan dua buah bilangan yang diinput melalui GET request.
proses.php
<?php
$bilangan1 = $_GET['bil1'];
$bilangan2 = $_GET['bil2'];
$jumlah = $bilangan1 + $bilangan2;
?>
<html>
<head>
<title>Contoh Request GET</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<?php
echo "<p>Anda telah memasukkan bilangan pertama = ".$bilangan1. "</p>";
echo "<p>Anda telah memasukkan bilangan kedua = ".$bilangan2. "</p>";
echo "<p>Hasil penjumlannya adalah ".$jumlah. "</p>";
?>
</body>
</html>
Lantas bagaimana menjumlahkan dua bilangan menggunakan script di atas yang menggunakan GET request? Caranya cukup mengetikkan URL berikut ini
http://localhost/proses.php?bil1=100&bil2=150
URL di atas akan menjumlahkan dua bilangan yaitu 100 (bil1) dan 150 (bil2).
Catatan:
Tanda ampersand (&) digunakan untuk memisahkan antar parameter.
Anda juga menjalankan script di atas melalui sebuah link.
Gimana? Apa masih membingungkan?
Kalau begitu langsung ke beberapa contoh persoalan aja ya, agar kita semua jadi lebih paham dari pengaplikasian POST and GET Requestπ. Eitss jangan lupa, harus punya aplikasi Visual Studio Code & Xampp dulu yaaa✌
1. Kembangkanlah script yang telah diberikan pada Tugas 1 Modul 5 (ada di post an blog sebelumnya) dengan menambahkan form input untuk memasukkan saldo awal, besar bunga perbulan dan juga lama bulan. Jangan lupa untuk menambahkan tombol submit dan reset. Apabila tombol submit diklik, maka semua data input akan diproses ke script PHP untuk diolah menghasilkan saldo akhir pada bulan tertentu.
<html>
<head>
<title><?php echo $judul;?></title>
</head>
<body>
<?php
$jum= $_POST[bil1]*$_POST[bil2]*$_POST[bil3]+$_POST[bil1];
echo "$_POST[bil1]<br>";
echo "$_POST[bil2]<br>";
echo "$_POST[bil3]<br>";
echo "$jum<br>";
?>
<h1>FORM ENTRY TABUNGAN POST MODE</h1>
<form method="POST" action=" ">
Masukkan saldo awal <input type="text" name="bil1"><br>
Masukkan bunga <input type="text" name="bil2"><br>
Masukkan bulan <input type="text" name="bil3"><br>
<input type="submit" value="simpan">
</form>
</body>
</html>
output:
2. Analog soal no. 1. Terapkan pada soal Tugas 2 Modul 5 (ada di post an blog sebelumnya)
<html>
<head>
<title><?php echo $judul;?></title>
</head>
<body>
<?php
$hasilBagi= $_POST[bil1]/$_POST[bil2];
$hasilBagi= round ($hasilBagi);
$sisaBagi= $_POST[bil1]%$_POST[bil2];
echo "$_POST[bil1]<br>";
echo "$_POST[bil2]<br>";
echo "$hasilBagi<br>";
echo "$sisaBagi<br>"
?>
<h1>FORM ENTRY HASIL & SISA BAGI POST MODE</h1>
<form method="POST" action=" ">
Masukkan bilangan <input type="text" name="bil1"><br>
Masukkan pembagi <input type="text" name="bil2"><br>
<input type="submit" value="simpan">
</form>
</body>
</html>
output:
3. Analog soal no. 1 dan 2. Terapkan pada soal Tugas 3 Modul 5 (ada di post an blog sebelumnya)
<html>
<head>
<title><?php echo $judul;?></title>
</head>
<body>
<?php
$jumlahUang = $_POST[bil1];
$g = $jumlahUang%100000;
$a = ($jumlahUang - $g) / 100000;
$h = $g%50000;
$b = ($g - $h) / 50000;
$i = $h%20000;
$c = ($h - $i) / 20000;
$j = $i%5000;
$d = ($i - $j) / 5000;
$k = $j%100;
$e = ($j - $k) / 100;
$l = $k%50;
$f = ($k - $l) / 50;
echo "jumlah Rp. 100000 : ".$a. "<br>";
echo "jumlah Rp. 50000 : ".$b. "<br>";
echo "jumlah Rp. 20000 : ".$c. "<br>";
echo "jumlah Rp. 5000 : ".$d. "<br>";
echo "jumlah Rp. 100 : ".$e. "<br>";
echo "jumlah Rp. 50 : ".$f. "<br>";
echo "$jumlahUang<br>";
?>
<h1>FORM ENTRY HASIL & SISA BAGI POST MODE</h1>
<form method="POST" action=" ">
Masukkan jumlah uang <input type="text" name="bil1"><br>
<input type="submit" value="simpan">
</form>
</body>
</html>
output:
4. Rancanglah sebuah form untuk pendaftaran online mahasiswa baru dalam universitas X. Data yang nantinya dimasukkan dalam form pendaftaran adalah: Nama Lengkap (text box), Tempat Lahir (text box), Tanggal Lahir (gunakan 3 buah combo box masing-masing untuk tanggal: 1-31, bulan: 1-12 dan tahun: 1970- 1987), Alamat Rumah (text area), Jenis Kelamin (gunakan radiobutton: pria/ wanita), Asal Sekolah (text box), Nilai UAN (text box). Tambahkan pula sebuah button dan reset.
Apabila data sudah diisi dan selanjutnya diklik tombol submit, maka kirim data ke sebuah script PHP untuk menampilkan apa yang telah diisikan dalam form tadi. Contoh output script bila nama yang diisikan adalah ‘Joko’.
Terimakasih Joko sudah mengisi form pendaftaran.
Nama Lengkap : Joko
Tempat Lahir : XXX
Tanggal Lahir : TGL-BLN-THN
Alamat Rumah : XXX
Jenis Kelamin : Pria
Asal Sekolah : XXX
Nilai UAN : XXX
proses.php:
<html>
<head>
<title></title>
</head>
<body>
<h1>FORM ENTRY PENDAFTARAN POST MODE</h1>
<form method="POST" action="proses.php">
Nama Lengkap : <input type="text" name="nama"><br>
Tempat Lahir : <input type="text" name="tempat"><br>
Tanggal Lahir : <select name="tanggal">
<?php
for ($i=1;$i<=31;$i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
Bulan : <select name="bulan">
<option value="Januari">Januari</option>";
<option value="Februari">Februari</option>";
<option value="Maret">Maret</option>";
<option value="April">April</option>";
<option value="Mei">Mei</option>";
<option value="Juni">Juni</option>";
<option value="Juli">Juli</option>";
<option value="Agustus">Agustus</option>";
<option value="September">September</option>";
<option value="Oktober">Oktober</option>";
<option value="November">November</option>";
<option value="Desember">Desember</option>";
</select>
Tahun : <select name="tahun">
<?php
for ($i=1930;$i<=date("Y");$i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
<br>
Alamat Rumah : <input type="text" name="alamat"><br>
Jenis Kelamin : <input type="radio" name="gender" value="pria"> Pria
<input type="radio" name="gender" value="wanita"> Wanita<br>
Asal Sekolah : <input type="text" name="sekolah"><br>
Nilai UAN : <input type="text" name="nilai"><br>
<input type="submit" value="simpan">
<input type="reset" value="delete">
</form>
</body>
</html>
program pada proses.php :
<?php
echo "Nama Lengkap : $_POST[nama]<br>";
echo "Tempat Lahir : $_POST[tempat]<br>";
echo "Tanggal Lahir : $_POST[tanggal] - $_POST[bulan] - $_POST[tahun]<br>";
echo "Alamat Rumah : $_POST[alamat]<br>";
echo "Jenis Kelamin : $_POST[gender]<br>";
echo "Asal Sekolah : $_POST[sekolah]<br>";
echo "Nilai UAN : $_POST[nilai]<br>";
echo "Terima Kasih $_POST[nama] sudah mengisi form pendaftaran"
?>
5. Setelah Anda selesai membuat script dan form pada no. 4 di atas, coba ubah method=’post’ pada formnya menjadi method=’get’. Ubah pula $_POST[] dalam script PHP nya menjadi $_GET[]. Masih bisakah scriptnya bekerja? Coba amati efek perubahan tersebut dan jelaskan apa akibat diberikannya method=’get’ pada form?
proses2.php:
<html>
<head>
<title></title>
</head>
<body>
<h1>FORM ENTRY PENDAFTARAN GET MODE</h1>
<form method="GET" action="proses.php">
Nama Lengkap : <input type="text" name="nama"><br>
Tempat Lahir : <input type="text" name="tempat"><br>
Tanggal Lahir : <select name="tanggal">
<?php
for ($i=1;$i<=31;$i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
Bulan : <select name="bulan">
<option value="Januari">Januari</option>";
<option value="Februari">Februari</option>";
<option value="Maret">Maret</option>";
<option value="April">April</option>";
<option value="Mei">Mei</option>";
<option value="Juni">Juni</option>";
<option value="Juli">Juli</option>";
<option value="Agustus">Agustus</option>";
<option value="September">September</option>";
<option value="Oktober">Oktober</option>";
<option value="November">November</option>";
<option value="Desember">Desember</option>";
</select>
Tahun : <select name="tahun">
<?php
for ($i=1930;$i<=date("Y");$i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
<br>
Alamat Rumah : <input type="text" name="alamat"><br>
Jenis Kelamin : <input type="radio" name="gender" value="pria"> Pria
<input type="radio" name="gender" value="wanita"> Wanita<br>
Asal Sekolah : <input type="text" name="sekolah"><br>
Nilai UAN : <input type="text" name="nilai"><br>
<input type="submit" value="simpan">
<input type="reset" value="delete">
</form>
</body>
</html>
program proses2.php:
<?php
echo "Nama Lengkap : $_GET[nama]<br>";
echo "Tempat Lahir : $_GET[tempat]<br>";
echo "Tanggal Lahir : $_GET[tanggal] - $_GET[bulan] - $_GET[tahun]<br>";
echo "Alamat Rumah : $_GET[alamat]<br>";
echo "Jenis Kelamin : $_GET[gender]<br>";
echo "Asal Sekolah : $_GET[sekolah]<br>";
echo "Nilai UAN : $_GET[nilai]<br>";
echo "Terima Kasih $_GET[nama] sudah mengisi form pendaftaran"
?>
output:
Nah jadi sekian beberapa contoh persoalan tentang POST and GET Request konsep PHP. Dapat ditarik kesimpulan, menurut pendapat saya lebih efektif memakai POST Request , karena URL sesuai dengan isi web tersebut. Tidak adanya kebohongan data yang tercantumkan dan selalu sinkron antara URL dengan isi web nya.
Semoga bermanfaat ya readers!!!
Jadi pendapat kalian lebih efektif yang mana?
Selamat mencoba!
Salam
Super
Sukses
π
Tidak ada komentar:
Posting Komentar