Thursday 18 May 2017

if-else bersarang pada PHP

script baris 2 sampai 7 script di atas menjadi:
?
1
2
3
4
5
6
7
8
9
10
if (isset($_POST['login'])) {
  echo "<pre><b>Data yang dikirim:</b> \n".print_r($_POST, true)."</pre><hr />"
  if ($_POST['username'] == "fandi" && $_POST['password'] == "ganteng") {
    echo "Login Berhasil <hr />";
  } else {
    echo "Login Gagal <hr />";
  }
} else {
  echo "Tombol Login belum ditekan <hr/>";
}

Di dalam if yang pertama, disisipkan sebuah struktur if lagi. Struktur if di dalam struktur if lain disebut dengan struktur if bersarang.
Pada kode ini hanya akan dijelaskan baris 4. Sisanya dianggap sudah bisa :) . Pada baris 4, disebutkan: $_POST['username'] berisi "fandi", DAN $_POST['password'] berisi "ganteng", maka dilaksanakan baris 5. Jika tidak, dilaksanakan baris 7.

Pada baris 4 itu digunakan penggabungan kondisi dengan operator DAN. Jadi kedua-duanya harus benar, barulah baris 5 dapat terlaksana. Jika tidak, baris 7 yang terlaksana.

if-else bertingkat pada PHP
Istilah / sub judul di atas mungkin salah. Tapi karena bingung mau disebut apa, jadi kita sebut saja seperti itu. Mari kita ganti baris 4 sampai 8 di atas menjadi:
?
1
2
3
4
5
6
7
8
9
if ($_POST['username'] == "fandi" && $_POST['password'] == "ganteng") {
  echo "Selamat datang Fandi <hr />";
} else if ($_POST['username'] == "agus" && $_POST['password'] == "GIS") {
  echo "Selamat datang Agus <hr />";
} else if ($_POST['username'] == "guest" && $_POST['password'] == "") {
  echo "Selamat datang Guest <hr />";
} else {
  echo "Login Gagal <hr />";
}


Ternary operator pada PHP

Ternary operator maksudnya adalah operator yang terdiri dari tiga operand. Tidak seperti operasi penjumlahahan atau sejenisnya yang terdiri dari dua operand: $a + $b. Ternary operator memiliki 3 operand: ($a) ? $b : $c. Ternary Operator ini sangat berguna untuk menyatakan kondisi sederhana. Berikut contoh scriptnya:
?
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
<?php
if (isset($_POST['beli'])) {
  if (!is_numeric($_POST['harga'])) {
    echo "Harga harus berupa angka";
    die();
  }
   
  echo ($_POST['harga'] > 20000) ? "Mahal" : "Murah";
  echo "<hr />";
}
?><!doctype html>
<html>
  <head><title>Coba Ternary</title></head>
  <body>
    <form method="POST" action="">
      <table>
        <tr>
          <td>Harga</td>
          <td><input type="number" name="harga" /></td>
        </tr>
        <tr>
          <td colspan="2"><button name="beli">BELI!</button></td>
        </tr>
      </table>
    </form>
  </body>
</html>


Pada baris 3 sampai 6, kita memastikan $_POST['harga'] adalah angka. Validasi ini sangat penting untuk input berupa angka. Bila tidak divalidasi, maka input user yang tidak valid akan mengacaukan data dan menyebabkan error pada aplikasi.

Pada baris 9, kita menampilkan suatu teks secara bersyarat dengan ternary operator. Jadi struktur ($a) ? $b : $c, bisa dibilang: ($kondisi) ? $nilaiBenar : $nilaiSalah. Pada contoh di atas: bila $_POST['harga'] lebih dari 20000, tampilkan "Mahal". Selain itu, tampilkan "Murah".

Demikian tutorial percabangan pada PHP.

No comments:

Post a Comment