Sunday, January 8, 2017

Bab 6. PHP/MySQL Untuk Pemula (Bagian 2)


Array (Bagian 2)


Projek: Menggunakan Array Dalam Form
Berikut adalah file pizza.html, yang berisi web form yang akan digunakan.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Pemilihan Topping Pizza</title>
  </head>
  <body>
    <h2>Projek: Pemilihan Topping Pizza</h2>
    <form method="post" action="pizza.php">
      Silahkan pilih topping pizza favorit Anda: <br />
      <input type="checkbox" name="topping[]" value="tomato">Tomato</input>
      <input type="checkbox" name="topping[]" value="onion">Onion</input>
      <input type="checkbox" name="topping[]" value="jalapenos">Jalapeno peppers</input>
      <input type="checkbox" name="topping[]" value="olives">Olives</input>
      <input type="checkbox" name="topping[]" value="mint">Mint</input>
      <input type="checkbox" name="topping[]" value="pineapple">Pineapple</input>
      <input type="checkbox" name="topping[]" value="bacon">Bacon</input>
      <input type="checkbox" name="topping[]" value="chicken">Chicken</input>
      <input type="checkbox" name="topping[]" value="ham">Ham</input>
      <input type="checkbox" name="topping[]" value="anchovies">Anchovies</input>
      <input type="checkbox" name="topping[]" value="x-cheese">Extra cheese</input>
      <p>
      <input type="submit" name="submit" value="Submit" />
    </form>
  </body>
</html>

Dan berikut merupakan kode untuk memproses data form, dengan nama file pizza.php.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Pemilihan Topping Pizza</title>
  </head>
  <body>
    <h2>Projek: Pemilihan Topping Pizza</h2>
      Anda memilih topping berikut: <br />
      <ul>
<?php
foreach ($_POST['topping'] as $t) {
echo "<li>$t</li> \r\n";
}
?>
      </ul>
  </body>
</html>






Projek: Menguji Angka Prima Atau Tidak

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Penguji Angka Prima</title>
  </head>
  <body>
    <h2>Projek: Penguji Angka Prima</h2>
<?php
// jika form belum disubmit
// tampilkan form
if (!isset($_POST['submit'])) {
?>
      <form method="post" action="uji_prima.php">
        Masukkan sejumlah angka, dipisahkan dengan koma: <br />
        <input type="text" name="angka" />
        <p>
        <input type="submit" name="submit" value="Submit" />
      </form>
<?php
// jika form telah disubmit
// proses masukan form
} else {
    // membacaangka dari submisi POST
    // mengkonversi ke array dengan memanfaatkan koma
    $stringAngka = $_POST['angka'];
    $arrAngka = explode(',', $_POST['angka']);
    $arrayPrima = array();
    $benderaPrima = 0;

    // beriterasi pada array
    // mendapatkan nilai-nilai absolut untuk tiap angka
    foreach ($arrAngka as $n) {
        $n = trim(abs($n));

        // menguji tiap angka untuk keprimaan:
        // memeriksa angka dengan membaginya dengan
        // semua angka antara 2 dan angka itu sendiri
        // jika selalu menghasilkan sisa,
        // maka angka tersebut adalah angka prima
        for ($i=2; $i<$n; $i++) {
            $benderaPrima = 0;
            if (($n%$i) == 0) {
                break;
            }
            $benderaPrima = 1;
        }

           // jika prima
        // tambahkan pada array keluaran
        if ($benderaPrima == 1) {
            array_push($arrayPrima, $n);
        }
    }

       // memeriksa apakah ada prima yang ditemukan
    // jika ya, urutkan dan hapus nilai duplikat dari array
    // tampilkan pesan
    if (count($arrayPrima) > 0) {
        $arrayPrima = array_unique($arrayPrima);
        sort($arrayPrima);
        echo 'Angka-angka berikut adalah prima: ' . implode($arrayPrima, ' ');
    } else {
        echo 'Tidak ada angka prima yang ditemukan';
    }
}
?>
  </body>
</html>





Projek: Membuat Papan Pesan
Berikut adalah kode dengan nama file kirim_pesan.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Kirim Pesan </title>
  </head>
  <body>
    <h2>Projek: Kirim Pesan </h2>
<?php
if (isset($_POST['submit'])) {
    $Judul = stripslashes($_POST['judul']);
    $Nama = stripslashes($_POST['nama']);
    $Pesan = stripslashes($_POST['pesan']);

       // Mengganti karakter '~'
    // dengan karakter '-'
    $Judul = str_replace("~", "-", $Judul);
    $Nama = str_replace("~", "-", $Nama);
    $Pesan = str_replace("~", "-", $Pesan);
    $RekamanPesan = "$Judul~$Nama~$Pesan\n";
    $FilePesan = fopen("PapanPesan/pesan.txt", "ab");
      
    if ($FilePesan === FALSE)
        echo "Ada error pada pesan Anda!\n";
    else {
        fwrite($FilePesan, $RekamanPesan);
        fclose($FilePesan);
        echo "Pesan Anda telah tersimpan.\n";
    }
}
?>
    <h1>Kirim Pesan Baru </h1>
    <hr />
      <form action="kirim_pesan.php" method="POST">
      <span style="font-weight:bold">Judul:</span>
      <input type="text" name="judul" />
      <span style="font-weight:bold">Nama:</span>
      <input type="text" name="nama" /><br />
      <textarea name="pesan" rows="6" cols="80"></textarea><br />
      <input type="submit" name="submit" value="Kirim Pesan" />
      <input type="reset" name="reset" value="Reset Form" />
      </form>
    <hr />
    <p>
      <a href="papan_pesan.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesan.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Papan Pesan </title>
  </head>
  <body>
  <h1>Projek: Papan Pesan</h1>
<?php
if ((!file_exists("PapanPesan/pesan.txt"))
|| (filesize("PapanPesan/pesan.txt") == 0))
    echo "<p>Ada error pada pesan yang dikirimkan.</p>\n";
else {
    $ArrayPesan = file("PapanPesan/pesan.txt");
    echo "<table style=\"background-color:lightgray\"
        border=\"1\" width=\"100%\">\n";
    $kounter = count($ArrayPesan);
      
    for ($i = 0; $i < $kounter; ++$i) {
        $pesanSkrg = explode("~", $ArrayPesan[$i]);
        echo "<tr>\n";
        echo "<td width=\"5%\"
            style=\"text-align:center;
            font-weight:bold\">" .
            ($i + 1) . "</td>\n";
        echo "<td width=\"95%\"><span
            style=\"font-weight:bold\">Judul:
            </span> " .
        htmlentities($pesanSkrg[0]) . "<br />\n";
        echo "<span style=\"font-weight:bold\">Nama:
            </span> " .
        htmlentities($pesanSkrg[1]) . "<br />\n";
        echo "<span style=\"text-decoration:underline;
            font-weight:bold\">Pesan
            </span><br />\n" .
        htmlentities($pesanSkrg[2]) .  "</td>\n";
        echo "</tr>\n";
    }
    echo "</table>\n";
}
?>
    <p>
      <a href="kirim_pesan.php">
          Kirim Pesan Baru </a>
    </p>
  </body>
 </html>





Projek: Papan Pesan Dengan Penambahan dan Penghapusan Elemen Dari Awal Array
Berikut adalah kode dengan nama file kirim_pesanA.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Kirim Pesan </title>
  </head>
  <body>
    <h2>Projek: Kirim Pesan </h2>
<?php

if (isset($_POST['submit'])) {
    $Judul = stripslashes($_POST['judul']);
    $Nama = stripslashes($_POST['nama']);
    $Pesan = stripslashes($_POST['pesan']);

      // Mengganti karakter '~'
    // dengan karakter '-'
    $Judul = str_replace("~", "-", $Judul);
    $Nama = str_replace("~", "-", $Nama);
    $Pesan = str_replace("~", "-", $Pesan);
    $RekamanPesan = "$Judul~$Nama~$Pesan\n";
    $FilePesan = fopen("PapanPesan/pesan.txt", "ab");
     
    if ($FilePesan === FALSE)
        echo "Ada error pada pesan Anda!\n";
    else {
        fwrite($FilePesan, $RekamanPesan);
        fclose($FilePesan);
        echo "Pesan Anda telah tersimpan.\n";
    }
}
?>
    <h1>Kirim Pesan Baru </h1>
    <hr />
      <form action="kirim_pesanA.php" method="POST">
      <span style="font-weight:bold">Judul:</span>
      <input type="text" name="judul" />
      <span style="font-weight:bold">Nama:</span>
      <input type="text" name="nama" /><br />
      <textarea name="pesan" rows="6" cols="80"></textarea><br />
      <input type="submit" name="submit" value="Kirim Pesan" />
      <input type="reset" name="reset" value="Reset Form" />
      </form>
    <hr />
    <p>
      <a href="papan_pesanA.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanA.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Papan Pesan </title>
  </head>
  <body>
  <h1>Projek: Papan Pesan</h1>
<?php
if (isset($_GET['action'])) {
    if ((file_exists("PapanPesan/pesan.txt")) &&
       (filesize("PapanPesan/pesan.txt") != 0)) {
           $ArrayPesan = file("PapanPesan/pesan.txt");
    }
      switch ($_GET['action']) {
    case 'Hapus Pertama':
        array_shift($ArrayPesan);
        break;
    } // Akhir statemen switch
     
      if (count($ArrayPesan)>0) {
        $PesanBaru = implode($ArrayPesan);
        $SimpanPesan = fopen("PapanPesan/pesan.txt","wb");
     
        if ($SimpanPesan === false)
            echo "Ada error pada saat memperbarui file\n";
        else {
            fwrite($SimpanPesan, $PesanBaru);
            fclose($SimpanPesan);
        }
    }
    else
        unlink("PapanPesan/pesan.txt");
}
     
if ((!file_exists("PapanPesan/pesan.txt"))
|| (filesize("PapanPesan/pesan.txt") == 0))
    echo "<p>Tidak ada pesan yang dikirimkan.</p>\n";
else {
    $ArrayPesan = file("PapanPesan/pesan.txt");
    echo "<table style=\"background-color:lightgray\"
        border=\"1\" width=\"100%\">\n";
    $kounter = count($ArrayPesan);
     
    for ($i = 0; $i < $kounter; ++$i) {
        $pesanSkrg = explode("~", $ArrayPesan[$i]);
        echo "<tr>\n";
        echo "<td width=\"5%\"
            style=\"text-align:center;
            font-weight:bold\">" .
            ($i + 1) . "</td>\n";
        echo "<td width=\"95%\"><span
            style=\"font-weight:bold\">Judul:
            </span> " .
        htmlentities($pesanSkrg[0]) . "<br />\n";
        echo "<span style=\"font-weight:bold\">Nama:
            </span> " .
        htmlentities($pesanSkrg[1]) . "<br />\n";
        echo "<span style=\"text-decoration:underline;
            font-weight:bold\">Pesan
            </span><br />\n" .
        htmlentities($pesanSkrg[2]) .  "</td>\n";
        echo "</tr>\n";
    }
    echo "</table>\n";
}
?>
    <p>
      <a href="kirim_pesanA.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanA.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a>
    </p>
  </body>

 </html>



Projek: Papan Pesan Dengan Penambahan dan Penghapusan Elemen Dari Akhir Array
Berikut adalah kode dengan nama file kirim_pesanB.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Kirim Pesan </title>
  </head>
  <body>
    <h2>Projek: Kirim Pesan </h2>
<?php

if (isset($_POST['submit'])) {
    $Judul = stripslashes($_POST['judul']);
    $Nama = stripslashes($_POST['nama']);
    $Pesan = stripslashes($_POST['pesan']);

      // Mengganti karakter '~'
    // dengan karakter '-'
    $Judul = str_replace("~", "-", $Judul);
    $Nama = str_replace("~", "-", $Nama);
    $Pesan = str_replace("~", "-", $Pesan);
    $RekamanPesan = "$Judul~$Nama~$Pesan\n";
    $FilePesan = fopen("PapanPesan/pesan.txt", "ab");
     
    if ($FilePesan === FALSE)
        echo "Ada error pada pesan Anda!\n";
    else {
        fwrite($FilePesan, $RekamanPesan);
        fclose($FilePesan);
        echo "Pesan Anda telah tersimpan.\n";
    }
}
?>
    <h1>Kirim Pesan Baru </h1>
    <hr />
      <form action="kirim_pesanB.php" method="POST">
      <span style="font-weight:bold">Judul:</span>
      <input type="text" name="judul" />
      <span style="font-weight:bold">Nama:</span>
      <input type="text" name="nama" /><br />
      <textarea name="pesan" rows="6" cols="80"></textarea><br />
      <input type="submit" name="submit" value="Kirim Pesan" />
      <input type="reset" name="reset" value="Reset Form" />
      </form>
    <hr />
    <p>
      <a href="papan_pesanB.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanB.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Papan Pesan </title>
  </head>
  <body>
  <h1>Projek: Papan Pesan</h1>
<?php
if (isset($_GET['action'])) {
    if ((file_exists("PapanPesan/pesan.txt")) &&
       (filesize("PapanPesan/pesan.txt") != 0)) {
           $ArrayPesan = file("PapanPesan/pesan.txt");
    }
      switch ($_GET['action']) {
    case 'Hapus Pertama':
        array_shift($ArrayPesan);
        break;
           
      case 'Hapus Akhir':
        array_pop($ArrayPesan);
        break;
    } // Akhir statemen switch
     
      if (count($ArrayPesan)>0) {
        $PesanBaru = implode($ArrayPesan);
        $SimpanPesan = fopen("PapanPesan/pesan.txt","wb");
     
        if ($SimpanPesan === false)
            echo "Ada error pada saat memperbarui file\n";
        else {
            fwrite($SimpanPesan, $PesanBaru);
            fclose($SimpanPesan);
        }
    }
    else
        unlink("PapanPesan/pesan.txt");
}
     
if ((!file_exists("PapanPesan/pesan.txt"))
|| (filesize("PapanPesan/pesan.txt") == 0))
    echo "<p>Tidak ada pesan yang dikirimkan.</p>\n";
else {
    $ArrayPesan = file("PapanPesan/pesan.txt");
    echo "<table style=\"background-color:lightgray\"
        border=\"1\" width=\"100%\">\n";
    $kounter = count($ArrayPesan);
     
    for ($i = 0; $i < $kounter; ++$i) {
        $pesanSkrg = explode("~", $ArrayPesan[$i]);
        echo "<tr>\n";
        echo "<td width=\"5%\"
            style=\"text-align:center;
            font-weight:bold\">" .
            ($i + 1) . "</td>\n";
        echo "<td width=\"95%\"><span
            style=\"font-weight:bold\">Judul:
            </span> " .
        htmlentities($pesanSkrg[0]) . "<br />\n";
        echo "<span style=\"font-weight:bold\">Nama:
            </span> " .
        htmlentities($pesanSkrg[1]) . "<br />\n";
        echo "<span style=\"text-decoration:underline;
            font-weight:bold\">Pesan
            </span><br />\n" .
        htmlentities($pesanSkrg[2]) .  "</td>\n";
        echo "</tr>\n";
    }
    echo "</table>\n";
}
?>
    <p>
      <a href="kirim_pesanB.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanB.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanB.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a>
    </p>
  </body>
 </html>






Projek: Papan Pesan Dengan Penambahan dan Penghapusan Elemen Dari Dalam Array
Berikut adalah kode dengan nama file kirim_pesanC.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Kirim Pesan </title>
  </head>
  <body>
    <h2>Projek: Kirim Pesan </h2>
<?php

if (isset($_POST['submit'])) {
    $Judul = stripslashes($_POST['judul']);
    $Nama = stripslashes($_POST['nama']);
    $Pesan = stripslashes($_POST['pesan']);

    // Mengganti karakter '~'
    // dengan karakter '-'
    $Judul = str_replace("~", "-", $Judul);
    $Nama = str_replace("~", "-", $Nama);
    $Pesan = str_replace("~", "-", $Pesan);
    $RekamanPesan = "$Judul~$Nama~$Pesan\n";
    $FilePesan = fopen("PapanPesan/pesan.txt", "ab");
     
    if ($FilePesan === FALSE)
        echo "Ada error pada pesan Anda!\n";
    else {
        fwrite($FilePesan, $RekamanPesan);
        fclose($FilePesan);
        echo "Pesan Anda telah tersimpan.\n";
    }
}
?>
    <h1>Kirim Pesan Baru </h1>
    <hr />
      <form action="kirim_pesanC.php" method="POST">
      <span style="font-weight:bold">Judul:</span>
      <input type="text" name="judul" />
      <span style="font-weight:bold">Nama:</span>
      <input type="text" name="nama" /><br />
      <textarea name="pesan" rows="6" cols="80"></textarea><br />
      <input type="submit" name="submit" value="Kirim Pesan" />
      <input type="reset" name="reset" value="Reset Form" />
      </form>
    <hr />
    <p>
      <a href="papan_pesanC.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanC.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Projek: Papan Pesan </title>
  </head>
  <body>
  <h1>Projek: Papan Pesan</h1>
<?php
if (isset($_GET['action'])) {
    if ((file_exists("PapanPesan/pesan.txt")) &&
       (filesize("PapanPesan/pesan.txt") != 0)) {
           $ArrayPesan = file("PapanPesan/pesan.txt");
    }
    switch ($_GET['action']) {
    case 'Hapus Pertama':
        array_shift($ArrayPesan);
        break;
           
    case 'Hapus Akhir':
        array_pop($ArrayPesan);
        break;
           
    case 'Hapus Pesan':
        if (isset($_GET['pesan']))
            array_splice($ArrayPesan, $_GET['pesan'], 1);
        break;
    } // Akhir statemen switch
     
    if (count($ArrayPesan)>0) {
        $PesanBaru = implode($ArrayPesan);
        $SimpanPesan = fopen("PapanPesan/pesan.txt","wb");
     
        if ($SimpanPesan === false)
            echo "Ada error pada saat memperbarui file\n";
        else {
            fwrite($SimpanPesan, $PesanBaru);
            fclose($SimpanPesan);
        }
    }
    else
        unlink("PapanPesan/pesan.txt");
}
     
if ((!file_exists("PapanPesan/pesan.txt"))
      || (filesize("PapanPesan/pesan.txt") == 0))
    echo "<p>Tidak ada pesan yang dikirimkan.</p>\n";
else {
    $ArrayPesan = file("PapanPesan/pesan.txt");
    echo "<table style=\"background-color:lightgray\"
        border=\"1\" width=\"100%\">\n";
    $kounter = count($ArrayPesan);
     
    for ($i = 0; $i < $kounter; ++$i) {
        $pesanSkrg = explode("~", $ArrayPesan[$i]);
        echo "<tr>\n";
        echo "<td width=\"5%\"
             style=\"text-align:center;
             font-weight:bold\">" .
             ($i + 1) . "</td>\n";
                 
        echo "<td width=\"85%\"><span
             style=\"font-weight:bold\">Judul:
             </span> " .
        htmlentities($pesanSkrg[0]) . "<br />\n";
           
        echo "<span style=\"font-weight:bold\">Nama:
              </span> " .
        htmlentities($pesanSkrg[1]) . "<br />\n";
           
        echo "<span style=\"text-decoration:underline;
              font-weight:bold\">Pesan
              </span><br />\n" .
        htmlentities($pesanSkrg[2]) .  "</td>\n";
           
        echo "<td width=\"10%\" style=\"text-align:center\">" .
             "<a href='papan_pesanC.php?action=Hapus%20Pesan&" .
             "pesan=$i'>" . "Hapus pesan ini </a></td>\n";
        echo "</tr>\n";
    }
    echo "</table>\n";
}
?>
    <p>
      <a href="kirim_pesanC.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanC.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanC.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a>
    </p>
  </body>
 </html>






No comments:

Post a Comment