Wavy Tail

Sabtu, 16 Maret 2019

POST and GET Request Konsep PHP😸

Halo, kawan-kawan!
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.
- Proses dalam hal operasi bilangan , ingat statement $variabel= $_POST [name]
- 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"
?>
output:



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