Chapter 7: Belajar bahasa pemrograman berbasis web – PHP (Bagian 2)

Pada artikel sebelumnya Chapter 7: Belajar bahasa pemrograman berbasis web – PHP (Bagian 1), kita telah mempelajari dasar-dasar bahasa pemrograman PHP. Di dalamnya telah diterangkan tentang penggunaan variabel dan bagaimana cara menampilkan data menggunakan PHP.

Pada artikel ini kita akan melanjutkan dengan pembahasan pada tingkat lanjut, yakni bagaimana mengontrol program dalam PHP. Pada bagian inilah kita akan mengeksplorasi tujuan utama sebuah bahasa pemrograman dibuat untuk menggantikan peran manusia.

Kontrol logika bahasa pemrograman PHP

Bahasa pemrograman manapun wajib memiliki beberapa kontrol kecerdasan sehingga mereka dapat membuat keputusan berdasarkan apa yang terjadi dalam aplikasi dan menampilkan konten yang berbeda berdasarkan keputusan tersebut.

Operator perbandingan

Di dalam bahasa pemrograman php ada beberapa kontrol logika. Namun sebelum masuk ke dalam pembahasan tentang kontrol logika PHP, kita perlu mengenal operator-operator yang digunakan dalam permainan logika pemrograman nantinya

OperatorDeskripsi
==Bernilai sama dengan
===Bernilai sama dengan dan sama tipe datanya atau identik
!=Tidak sama dengan
<>Tidak sama dengan
!==Tidak sama dengan nilainya ATAU tipe datanya
<Kurang dari / lebih kecil dari
<=Lebih kecil ATAU sama dengan
>Lebih besar dari
>=Lebih besar dari ATAU sama dengan
Tabel operator perbandingan PHP

Kontrol If-Else

Statemen If

Pernyataan If mengontrol pernyataan mana yang harus dijalankan PHP dalam program berdasarkan kondisi. Kita tentu saja sangat sering menggunakan statemen ini dalam kehidupan sehari-hari (misalnya, jika hujan, maka saya akan membawa payung). Kita juga akan menerapkan logika yang sama untuk program PHP.

Bentuk dasar dari pernyataan If adalah sebagai berikut

if (kondisi)
   jalankan perintah ini apabila kondisi terpenuhi

Baca juga: Chapter 6: Bahasa pemrograman berbasis web – Troubleshooting Javascript

PHP mengevaluasi kondisi yang ditentukan di dalam tanda kurung untuk menentukan apakah akan menjalankan pernyataan PHP yang ditentukan yang muncul segera setelah pernyataan If. Kondisi ini menggunakan ekspresi PHP khusus yang disebut operator perbandingan, yang digunakannya untuk membandingkan dua nilai. Jika perbandingan mengevaluasi ke nilai BOOLEAN TRUE, PHP menjalankan pernyataan yang tercantum setelah pernyataan if. Jika perbandingan mengevaluasi ke nilai BOOLEAN FALSE, PHP melewatkan pernyataan.

Contoh penggunaan statemen IF:

if($umur > 17)
  echo "Anda sudah pantas memiliki SIM!";

Kondisi di dalam tanda kurung memeriksa apakah nilai yang disimpan dalam variabel bernama $umur lebih besar dari 17. Jika ya, kondisi mengevaluasi ke nilai TRUE dan PHP menjalankan pernyataan echo. Jika tidak, kondisi mengevaluasi ke nilai FALSE dan PHP melewati perintah echo dan melanjutkan ke statemen selanjutnya.

Selain itu juga kita bisa menggunakan beberapa baris pernyataan, yang mesti dimasukkan dalam sebuah grup di dalam kurung kurawal seperti ini:

if(kondisi) {
   pernyataan 1;
   pernyataan 2;
   pernyataan 3;
}

Contoh:

if($harga > 100000) {
   $pajak = $harga * 0.5;
   $ongkir = 60000;
   $total = $harga + $pajak + $ongkir;
}
echo "Total harga = " . $total;

Dalam contoh di atas, seluruh grup pernyataan hanya akan dijalankan oleh PHP jika nilai variabel $harga lebih besar dari 100000.

Baca juga : Chapter 5: Belajar bahasa pemrograman berbasis web – Jquery Event

bahasa pemrograman berbasis web
Photo by Ben on Unsplash

Statemen Else

Statemen Else adalah pasangan dari statemen If, di mana pernyataan di dalam statemen else akan dijalankan apabila kondisi dalam pernyataan If tidak terpenuhi.

if(kondisi) {
  Pernyataan apabila kondisi terpenuhi / TRUE
}
else {
  Pernyataan apabila kondisi tidak terpenuhi / FALSE
}

Contoh penggunaan Else :

if($nilai > 5) {
  echo "Anda naik kelas!";
}
else {
  echo "Anda tidak naik kelas!";
}

Statemen ElseIf

Statemen ini merupakan penggabungan If dan Else tetapi menggunakan kondisi sendiri. Berbeda dengan statemen else yang langsung menerapkan kondisi secara otomatis.

if (kondisi 1) {
  Pernyataan apabila kondisi 1 terpenuhi
}
elseif(kondisi 2) {
  Pernyataan apabila terjadi kondisi 2
}

Baca juga: Chapter 4: Belajar bahasa pemrograman berbasis web – JQuery

Latihan:

Buat sebuah file bernama kondisi.php, kemudian isi dengan kode berikut:

<!DOCTYPE html>
<html>
<head>
  <title>Latihan menggunakan kondisi</title>
</head>
<body>
  <h1>Latihan kondisi If-Else</h1>
  <?php
    $nilai = rand(1, 100);
    if ($nilai >= 90) {
       echo "<h2>Anda mendapat nilai $nilai - SANGAT BAIK!</h2>\n";
    } elseif ($nilai >= 80) {
       echo "<h2>Anda mendapat nilai $nilai - BAIK</h2>\n";
    } elseif ($nilai >= 60) {
       echo "<h2>Anda mendapat nilai $nilai - CUKUP BAIK</h2>\n";
    } else {
       echo "<h2>Anda mendapat nilai $nilai - BURUK</h2>\n";
    }
  ?>
</body>
</html>

Jalankan program contoh tersebut. Apabila tidak ada kesalahan, maka mestinya tampil seperti gambar berikut ini:

penggunaan if else bahasa pemrograman PHP
Contoh penggunaan if-else dalam Bahasa pemrograman PHP

Program ini menggunakan fungsi PHP rand() untuk memilih angka acak dari 1 hingga 100. Nilai tersebut dibandingkan dalam dua pemeriksaan kondisi terpisah dalam pernyataan if dan elseif. Jika keduanya gagal, kode jatuh ke pernyataan lain akhir.

PHP menjalankan pernyataan echo yang sesuai berdasarkan kondisi mana yang berhasil. Gambar di atas memperlihatkan contoh output yang akan bisa dilihat di halaman web. Setiap kali kita mengklik tombol Refresh browser, browser membuat permintaan baru ke server untuk memuat ulang halaman web. Itu memicu server untuk memuat ulang halaman web di server PHP, yang pada gilirannya menjalankan ulang program.

Switch

Selain menggunakan If, Else dan Elseif kita juga menggunakan statemen Switch. Statemen Switch memungkinkan kita untuk menetapkan hanya satu kali pemeriksaan kondisi, yang mana ini akan membantu mempersingkat penulisan kode

switch (kondisi) {
 case nilai 1:
 statement 1;
 break;
 case nilai 2:
 statement 2;
 break;
 default:
 statement 3;
}

Pernyataan switch mengevaluasi kondisi yang kita tentukan terhadap nilai berbeda yang disajikan dalam beberapa pernyataan kasus. Jika salah satu nilai cocok dengan hasil kondisi, PHP melompat ke bagian kode tersebut untuk menjalankan pernyataan yang terkandung dalam bagian tersebut.

Baca juga: Chapter 3: Belajar bahasa pemrograman berbasis web – Javascript (Part 4)

Namun, penting untuk dicatat bahwa pernyataan case adalah label dan bukan blok kode. Setelah PHP menjalankan pernyataan di bagian case yang dilewatkannya, ia terus menjalankan pernyataan di semua bagian kasus setelah itu. Untuk mencegah hal itu terjadi, gunakan pernyataan break di akhir bagian kode case. Itu menyebabkan PHP keluar dari statemen switch dan melewati bagian case yang tersisa.

Selain itu, ada juga bagian pernyataan default di akhir blok kode statemen switch. Jika tidak ada nilai kasus yang cocok dengan nilai kondisi, PHP melompat ke bagian default.

Looping / Perulangan

Seringkali dalam pengerjaan program kita akan membuat perulangan terhadap sebuah operasi pemrograman yang sama. Secara normal kita akan menulis satu persatu baris program yang isinyaadalah perintah yang sama dengan nilai yang bermacam-macam.

$anak = array("Marcellino", "Margaretha", "Julian", "Maura");
echo "Anak nomor 1 dalam keluarga bernama $anak[0]<br>\n";
echo "Anak nomor 1 dalam keluarga bernama $anak[1]<br>\n";
echo "Anak nomor 1 dalam keluarga bernama $anak[2]<br>\n";
echo "Anak nomor 1 dalam keluarga bernama $anak[3]<br>\n";

Bayangkan apabila array dalam kode di atas berisi 100, 1000, 1000000 elemen! Alangkah melelahkan apabila harus ditulis satu persatu, berapa waktu yang akan dihabiskan untuk menyelesaikan itu?

Untuk itulah PHP menyediakan sebuah fitur standar bahasa pemrograman bernama Looping. Ada beberapa jenis looping yang tersedia

While

Pernyataan sementara memungkinkan kita untuk membuat loop kode sederhana berdasarkan kondisi yang kita tentukan dalam pernyataan:

while(kondisi) {
  pernyataan
}

Dalam setiap iterasi loop, PHP mengevaluasi kondisi yang telah ditentukan. Jika kondisi mengevaluasi ke nilai TRUE, PHP menjalankan pernyataan yang terkandung dalam blok kode while. Segera setelah kondisi mengevaluasi ke nilai FALSE, PHP keluar dari loop dan melanjutkan dengan pernyataan berikutnya setelah loop.

Pernyataan while rumit karena sesuatu di dalam kode loop harus mengubah nilai yang diperiksa dalam kondisi; jika tidak, itu tidak akan pernah berakhir (disebut loop tanpa akhir). Biasanya, ada beberapa jenis variabel yang harus kita ubah di dalam loop dan kemudian periksa kondisinya.

Contoh program : while.php

<!DOCTYPE html>
<html>
<head>
  <title>Latihan PHP While</title>
</head>
<body>
	<h1>Daftar buah-buahan</h1>
	<?php
	$buahbuah = array("Apel", "Nanas", "Pisang", "Nangka");
	$counter = 0;
	
	while ($counter < 4) {
	 $nomor = $counter + 1;
	 echo "$nomor. Buah $buahbuah[$counter]<br>\n";
	 $counter++;
	}
	?>
</body>
</html>

Setelah dijalankan maka hasilnya seperti pada gambar berikut ini:

Contoh program while PHP

Yang wajib diingat bahwa indeks data array selalu dimulai pada 0, jadi kita perlu memulai variabel $counter pada 0 sebelum memasukkan loop. Dalam kondisi sementara loop, kita perlu memeriksa untuk memastikan bahwa variabel $counter belum melewati indeks terakhir dalam array. Dengan empat elemen data dalam array, nilai indeks terakhir adalah 3.

Baca juga: Covid 19 news mengajarkan kita tentang percepatan era revolusi industri 4.0

Jadi, selama nilai variabel $counter kurang dari 4, program dapat terus melakukan iterasi melalui kode dalam loop. Kode ini menggunakan variabel $counter sebagai indeks array $buahbuah untuk mereferensikan setiap elemen data individual dalam pernyataan gema.

Akhirnya, ada pernyataan increment/penambahan untuk menambahkan 1 ke variabel $counter di akhir setiap iterasi loop.

Selain pernyataan while ada yang mirip dengannya yakni pernyataan do…while. Perbedaannya adalah pada do..while, proses pengecekan kondisi dilakukan pada akhir pernyataan tersebut.

do {
 pernyataan
} while (kondisi)

Dengan loop do… while, PHP tidak memeriksa kondisi sampai setelah menjalankan kode di dalam blok loop. Ini memastikan bahwa kode akan dijalankan setidaknya satu kali, bahkan jika kondisi mengevaluasi ke nilai FALSE.

Statemen For

Pernyataan loop while adalah cara yang bagus untuk melakukan perulangan melalui sekelompok data, tetapi terkadang bisa sedikit rumit untuk digunakan. Dengan pernyataan while, kita perlu memastikan bahwa kita telah menetapkan variabel PHP yang mengubah nilai di dalam kode loop, dan pastikan kita memberi kode kondisi untuk berhenti ketika variabel tersebut mencapai nilai tertentu. Kadang-kadang dengan blok kode besar, yang bisa menjadi rumit untuk dilacak.

PHP menyediakan jenis pernyataan looping lain yang disebut For. Statemen For dapat melacak iterasi loop secara langsung. Bentuk dasar dari loop For adalah sebagai berikut:

for(statement1; kondisi; statement2) {
 Kode-kode PHP
}

Parameter pertama, statement1, adalah pernyataan PHP untuk menentukan nilai awal sebelum dilakukan perulangan.
Parameter tengah, kondisi, adalah pemeriksaan kondisi PHP standar yang dievaluasi setelah setiap iterasi loop. Parameter terakhir, statement2, adalah pernyataan PHP yang dijalankan di akhir setiap iterasi loop. Ini biasanya diatur untuk mengubah nilai penghitung yang digunakan dalam loop.

Contoh kode program: forloop.php

<!DOCTYPE html>
<html>
<head>
  <title>Latihan PHP While</title>
</head>
<body>
	<h1>Daftar buah-buahan</h1>
	<?php
	$buahbuah = array("Apel", "Nanas", "Pisang", "Nangka");
	
	for($counter = 0; $counter < 4; $counter++) {
		$nomor = $counter + 1;
		echo "$nomor. Buah $buahbuah[$counter]<br>\n";
	}
	?>
</body>
</html>

Statemen Foreach

Salah satu masalah yang mungkin sering sering kita hadapi dengan array dalam PHP adalah harus melakukan iterasi melalui semua elemen data yang terkandung dalam variabel array asosiatif.

Array asosiatif menggunakan key berupa teks, bukan angka, untuk melacak nilai data. Tidak ada cara yang dapat digunakan untuk membuat increment melalui key dalam variabel array asosiatif ketika menggunakan statemen for.

Untuk itu ada solusi dalam bahasa pemrograman PHP dengan pernyataan foreach. Pernyataan foreach menjalankan perulangan melalui masing-masing key yang dibuat dalam array asosiatif dan memungkinkan kita untuk mengambil kunci dan nilai terkait.

Bentuk dasar dari statemen foreach:

foreach (array as $key => $value) {
 pernyataan PHP
}

Dalam setiap iterasi, pernyataan foreach menetapkan kunci asosiatif ke variabel $key, dan nilai terkait dengan variabel $value baru. Kita kemudian dapat menggunakan variabel tersebut dalam kode PHP di dalam blok kode.

Contoh program : foreach.php

<!DOCTYPE html>
<html>
<head>
	<title>Latihan PHP foreach</title>
</head>
<body>
	<h1>Hidangan favorit</h1>
	<?php
	$makanans = array("buah"=>"pisang","sayur"=>"wortel","daging"=>"soto kambing");
	foreach($makanans as $makanan => $jenis) {
	 echo "$makanan - $jenis<br>\n";
	}
	?>
</body>
</html>

Jalankan program tersebut di browser, hasilnya seperti pada gambar berikut ini

bahasa pemrograman berbasis web -PHP
foreach PHP

Function dalam PHP

Saat bekerja menggunakan bahasa pemrograman PHP, kita akan sering menggunakan fungsi bawaan yang tersedia (seperti fungsi rand() yang sudah kita gunakan sebelumnya dalam contoh program). Fungsi tidak lebih dari kode PHP yang ditulis orang lain untuk mencapai fitur berguna yang dapat kita gunakan dalam program apa pun. Alih-alih harus menyalin semua kode ke dalam aplikasi, kita hanya cukup menggunakan nama fungsi.

PHP memungkinkan kita untuk membuat fungsi sendiri untuk digunakan dalam program sesuai kebutuhan sendiri ataupun untuk berbagi dengan orang lain. Setelah kita mendefinisikan fungsi, kita dapat menggunakannya di seluruh program kita. Ini menghemat waktu dan tenaga untuk pekerjaan penulisan kode jika kita menggunakan rutinitas umum atau blok kode di banyak tempat di aplikasi. Yang perlu kita lakukan adalah menulis kode sekali dalam definisi fungsi dan kemudian memanggil fungsi di tempat lain yang kita butuhkan.

Bentuk dasar dari function PHP adalah:

function namafungsi(parameter) {
 kode
 return nilai;
}

Aturan dalam penulisan fungsi :

  • Nama fungsi harus secara unik mengidentifikasi fungsi.
  • Nama fungsi Ini tidak boleh menjadi salah satu nama fungsi bawaan PHP.
  • Nama fungsi tidak dapat dimulai dengan angka (meskipun angka dapat muncul di tempat lain dalam nama fungsi).
  • Parameter mengidentifikasi satu atau beberapa variabel yang dapat diteruskan program saat memanggil fungsi (atau kita dapat memiliki fungsi yang menggunakan parameter o).
  • Jika ada lebih dari satu variabel dalam daftar parameter, kita harus memisahkannya dengan koma. Kita kemudian dapat menggunakan variabel di mana saja dalam kode fungsi, tetapi hanya berlaku untuk di dalam blok kode fungsi.
  • Kita tidak dapat mengakses variabel parameter yang dilewatkan di tempat lain dalam kode program.
  • Variabel apa pun yang kita tentukan di dalam kode fungsi hanya berlaku untuk kode fungsi.
  • Kita tidak dapat menggunakan variabel fungsi dalam kode PHP di luar definisi fungsi.
  • Pernyataan return memungkinkan kita untuk meneruskan satu nilai kembali ke program panggilan. Ini adalah pernyataan terakhir dalam kode definisi fungsi, dan mengembalikan kontrol program kembali ke bagian kode utama dalam program.

Contoh program: faktorial.php

<!DOCTYPE html>
<html>
<head>
	<title>Latihan membuat Fungsi PHP</title>
</head>
<body>
	<?php
	function faktorial($nilai) {
	 $faktorial = 1;
	 $jumlah = 1;
	 while($jumlah <= $nilai) {
	 $faktorial *= $jumlah;
	 $jumlah++;
	 }
	 return $faktorial;
	 }
	?>
	<h1>Menghitung nilai faktorial</h1>
	<?php
	echo "Nilai Faktorial dari 10 adalah " . faktorial(10) . "<br>\n";
	echo "Nilai Faktorial dari 5 adalah " . faktorial(5) . "<br>\n";
	?>
</body>
</html>

Setelah dijalankan di browser maka hasilnya seperti berikut

bahasa pemrograman berbasis web
Contoh program menghitung nilai Faktorial

Semua kode yang diperlukan untuk menghitung fungsi terkandung dalam blok kode definisi fungsi faktorial(). Ketika PHP menggunakan fungsi faktorial(), maka akan melewatkan satu nilai yang ditetapkan fungsi ke variabel $nilai. Ketika perhitungan selesai, kode fungsi mengembalikan hasil kembali ke program utama.

Kita dapat menempelkan variabel di dalam nilai string dalam pernyataan echo, tetapi kita tidak dapat menempelkan fungsi. Untuk memasukkan output dari fungsi ke dalam output pernyataan echo, gunakan operator penggabungan string (titik) untuk “menggabungkan” output dari string dan fungsi faktorial() ke dalam satu string untuk ditampilkan.

Jika kita memiliki banyak fungsi yang digunakan di banyak program, kita dapat menentukannya dalam file terpisah. Kemudian untuk menggunakan fungsi dalam program kita cukup gunakan fungsi include() untuk menyertakan file fungsi, dan kita kemudian dapat menggunakan fungsi di dalam program tanpa harus mengetik ulang.

Bahasa pemrograman berbasis web – menangani event dalam PHP

Karena PHP adalah bahasa pemrograman sisi server, kita tidak dapat mengaitkannya secara langsung dengan event yang terjadi di browser. Namun, kita dapat menautkan halaman web PHP ke event tertentu pada halaman web sehingga browser dapat meminta halaman web tertentu berdasarkan event.

Pada dasarnya ada 2 cara untuk melakukan itu:

  • Membuat link ke halaman PHP
  • Membuat form untuk melewatkan data ke halaman web

Menggunakan Link

Pada HTML kita bisa membuat link dengan cara

<a href="halaman_tujuan.html">Ke halaman tujuan</a>

Ketika pengunjung situs mengklik tautan itu, browser meminta file halaman_tujuan.html dari server web.

Kita dapat menggunakan metode ini untuk meneruskan sejumlah kecil data ke halaman web PHP di aplikasi web. Sebagai bagian dari URL, kita dapat menyematkan pasangan variabel/nilai setelah lokasi URL yang diteruskan ke server web:

<a href="perpustakaan.php?content=buku">Klik untuk membuka</a>

Browser mengirimkan kombinasi data konten dan menyimpan ke server web sebagai bagian dari permintaan GET untuk halaman web baru. Jika kita perlu mengirim lebih banyak data, pisahkan dengan tanda ampersand(&):

<a href="tokoku.php?content=beli&id_produk=34">

Link di atas mengirimkan dua variabel/pasangan nilai ke server web menggunakan method GET:

content=beli
id_produk=34

Untuk mengambil nilai data yang dilewatkan menggunakan metode GET di kode PHP, gunakan variabel array khusus $_GET[]. Server PHP mengisi variabel array $_GET[] dengan semua pasangan variabel/nilai yang diteruskan dalam metode GET dari browser klien. Kita kemudian dapat mengakses variabel array tersebut dalam kode program.

Contoh:

Buat sebuah file bernama link.php, masukkan kode berikut:

<!DOCTYPE html>
<html>
<head>
	<title>Latihan membuat event link PHP</title>
</head>
<body>
	<h1>Klik salah satu tautan di bawah:</h1>
	<a href="link1.php?content=beli">Beli produk</a><br>
	<a href="link1.php?content=cari">Cari produk</a><br>
	<a href="link1.php?content=bantuan">Bantuan</a><br>
</body>
</html>

Buat lagi sebuah file baru dengan nama link1.php, masukkan kode berikut:

<!DOCTYPE html>
<html>
<head>
	<title>Latihan event link PHP</title>
</head>
<body>
	<h1>Terimakasih atas kunjungan anda!<h1>
	<?php
	$content = $_GET['content'];
	echo "<h2>Anda berada di bagian $content</h2>\n";
	?>
</body>
</html>

Coba jalankan http://localhost/link.php di browser

bahasa pemrograman berbasis web - PHP
Link dalam PHP

Menggunakan Form PHP

Inti dari Form adalah tag <form> HTML. Tag ini mendefinisikan awal dan akhir dari field data yang membentuk form.

Atribut utama dari form adalah:

  • name : mendefinisikan nama form tersebut
  • method : mendefinsikan method yang digunakan untuk mengirimkan data
  • action: mendefinisikan halaman web yang bertugas untuk menerima data

Dalam elemen formulir, kita menyertakan elemen HTML untuk kotak teks, area teks, tombol radio, kotak centang, dan bidang data formulir HTML lainnya. Setiap elemen menggunakan nama unik untuk mengidentifikasinya dalam data formulir yang dikirim browser ke halaman web action.

Karena PHP berjalan di server, ia tidak memiliki cara untuk mengetahui kapan user selesai mengisi bidang data formulir di jendela browser. Dengan PHP, sangat penting untuk memiliki tombol Submit dalam formulir untuk menunjukkan kepada browser kapan harus mengirim data formulir ke halaman web yang ditentukan dalam atribut tindakan, menggunakan metode yang ditentukan dalam atribut method.

Bentuk dasar form:

<form name="bukutamu" action="halamantamu.php" method="POST">
 <label>Nama depan</label>
 <input type="text" name="namadepan" size="30"><br>
 <label>Nama belakang</label>
 <input type="text" name="namaakhir" size="30"><br>
 <input type="submit">
</form>

Setelah mengisi formulir tersebut, user wajib mengklik tombol Submit untuk mengirimkan data form tersebut ke halamantamu.php di server.

Di server web penerima, ia meneruskan data yang diterima oleh metode POST ke server PHP, yang menggunakan variabel array $_POST[] khusus untuk mengambil data formulir. Kita kemudian dapat mengakses data tersebut dalam kode PHP menggunakan variabel array $_POST[], bersama dengan nama bidang formulir:

$namadepan = $_POST['namadepan'];
$namabelakang = $_POST['namabelakang'];

Passing data Form Select-Option

Untuk mengambil nilai dari elemen tertentu, atribut nama elemen pemilihan menentukan nama bidang, dan atribut nilai elemen option untuk opsi yang dipilih di bidang adalah nilai yang dilewatkan dalam data POST. Bentukk dasarnya adalah seperti contoh bidang formulir berikut:

<select name="umur">
  <option value="bayi">0-1</option>
  <option value="balita">1-4</option>
  <option value="anak">5-12</option>
  <option value="remaja">12-17</option>
</select>

Saat pengunjung situs memilih opsi berlabel 5-12 di daftar option, formulir akan mengirimkan nilai anak dalam data POST. Kode PHP kemudian dapat mengakses variabel array $_POST[‘umur’] untuk mengambil nilai yang dipilih.

Elemen Radio Button

Untuk mengambil nilai dari elemen tombol radio, atribut name untuk semua tombol dalam grup yang sama juga sama. Atribut nilai menentukan data apa yang dikirim ke server sebagai bagian dari data POST:

<input type="radio" name="umur" value="muda">18-35
<input type="radio" name="umur" value="pertengahan">36-55
<input type="radio" name="umur" value="tua">56+

Kode PHP memeriksa variabel $_POST[‘umur’] untuk nilai data yang diteruskan oleh tombol radio yang dipilih.

Elemen Checkbox

Bekerja dengan bidang data kotak centang / checkbox bisa sedikit rumit. Checkbox tidak menerima data apa pun, hanya menunjukkan apakah kotak dicentang. Jika kotak dicentang, kotak akan mengirimkan nilai yang ditentukan oleh atribut value yang ditetapkan ke atribut nama yang ditentukan bidang data:

<input type="checkbox" name="umur" value="tua">

Jika pengunjung situs memeriksa kotak dalam formulir, formulir akan mengirimkan data umur dengan nilai lama, dan kode PHP Anda dapat mengambil pilihan menggunakan variabel array $_POST[‘umur’].

Masalah akan muncul ketika pengunjung situs tidak memilih kotak centang. Jika kotak centang tidak dipilih, formulir tidak mengirim data apa pun untuk bidang formulir. Dalam hal ini, jika kita mencoba menggunakan variabel array $_POST[‘umur’], kita mendapatkan pesan kesalahan dari PHP bahwa data tidak ada.

Untuk menentukan apakah bidang formulir kotak centang telah dipilih, kita menggunakan fungsi ISSET() PHP. Fungsi isset() mengembalikan nilai TRUE jika variabel PHP ada dan memiliki nilai yang ditetapkan untuk itu atau nilai FALSE jika tidak.

if (isset($_POST['umur'])) {
 $umur = $_POST['umur'];
} else
 $umur = "tidak dipilih";
}

Latihan Form PHP

Buat file baru dengan nama bukutamu.php. Masukkan kode berikut ke dalam file tersebut:

Baca juga: Chapter 1 : Belajar bahasa pemrograman berbasis web – HTML Dasar

<!DOCTYPE html>
<html>
<head>
	<title>Buku Tamu</title>
	<style>
	 input, textarea {
	 margin: 5px;
	 }
	</style>
</head>
<body>
	<h1>Masukkan data ke dalam Formulir berikut ini</h1>
	<form action="datatamu.php" method="post">
	<fieldset>
		<legend>Form Data Utama</legend>
		<label>Nama depan</label>
		<input type="text" name="namad" size="30"><br>
		<label>Nama belakang</label>
		<input type="text" name="namab" size="30"><br>
		<fieldset>
		<legend>Hobby</legend>
		<input type="radio" name="hobby" value="datang">Datang<br>
		<input type="radio" name="hobby" value="duduk">Duduk<br>
		<input type="radio" name="hobby" value="dengar">Dengar<br>
		<input type="radio" name="hobby" value="diam">Diam<br>
		</fieldset>
		<label>Berikan ulasan anda</label>
		<textarea name="ulasan" cols="40" rows="10"></textarea><br>
		<input type="submit" value="Kirim formulir">
	</fieldset>
</body>
</html>

Kemudian buat lagi sebuah file dengan nama datatamu.php dan isikan kode berikut:

<!DOCTYPE html>
<html>
<head>
	<title>Data Tamu</title>
</head>
<body>
	<h1>Data Tamu:</h1>
	<?php
	$namad = $_POST['namad'];
	$namab = $_POST['namab'];
	if (isset($_POST['hobby'])) {
	 $hobby = $_POST['hobby'];
	} else {
	 $hobby = "tidak dinyatakan";
	}
	$ulasan = $_POST['ulasan'];
	echo "<h2>Nama depan: $namad</h2>\n";
	echo "<h2>Nama belakang: $namab</h2>\n";
	echo "<h2>Hobby: $hobby</h2>\n";
	echo "<h2>Ulasan:</h2>\n";
	echo "<p>$ulasan</p>\n";
	?>
</body>
</html>

Jalankan program di http://localhost/bukutamu.php. Tampilannya kira-kira seperti berikut

bahasa pemrograman berbasis web
Form bukutamu.php

Setelah formulir diisi klik tombol Kirim formulir untuk membuka halaman datatamu.php

bahasa pemrograman berbasis web
Data Tamu

Halaman datatamu.php mengambil data yang dikirim oleh bukutamu.php, mengecek tombol radio apakah dipilih atau tidak menggunakan fungsi isset(). Kemudian menampilkan data yang dikirim oleh formulir tadi.

Leave a Reply