Sunday, January 8, 2017

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


Array (Bagian 3)


Projek: Papan Pesan Dengan Penginisialisasian Array Asosiatif
Berikut adalah kode dengan nama file kirim_pesanD.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_pesanD.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_pesanD.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanD.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]);
        $ArrayPesanKunci[$pesanSkrg[0]] =
              $pesanSkrg[1] . "~" . $pesanSkrg[2];
    }
    echo "<pre>\n";
    print_r($ArrayPesanKunci);
    echo "</pre>\n";
    /*
    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_pesanD.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanD.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanD.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a>
    </p>
  </body>
 </html>




Projek: Papan Pesan Dengan Penghapusan Elemen Duplikat
Berikut adalah kode dengan nama file kirim_pesanE.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_pesanE.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_pesanE.php">Lihat Pesan</a>
    </p>
  </body>
 </html>


Berikut adalah kode dengan nama file papan_pesanE.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;
             
    case 'Hapus Duplikat':
        $ArrayPesan = array_unique($ArrayPesan);
        $ArrayPesan = array_values($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=\"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_pesanE.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanE.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanE.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a><br />
         <a href="papan_pesanE.php?action=Hapus%20Duplikat">
          Hapus Pesan Duplikat</a><br />
    </p>
  </body>
 </html>




Projek: Papan Pesan Dengan Penjelajahan Array
Berikut adalah kode dengan nama file kirim_pesanF.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_pesanF.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_pesanF.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanF.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]);
        $ArrayPesanKunci[$pesanSkrg[0]] =
              $pesanSkrg[1] . "~" . $pesanSkrg[2];
    }
    $Indeks = 1;
     
    foreach($ArrayPesanKunci as $Pesan) {
        $pesanSkrg = explode("~", $Pesan);
        echo "<tr>\n";
        echo "<td width=\"5%\"
              style=\"text-align:center\"><span
              style=\"font-weight:bold\">" .
              $Indeks . "</span></td>\n";
                 
        echo "<td width=\"85%\"><span
              style=\"font-weight:bold\">Judul:
              </span> " .
        htmlentities(key($ArrayPesanKunci)) . "<br />";
           
        echo "<span style=\"font-weight:bold\">Nama:
              </span> " .
        htmlentities($pesanSkrg[1]) . "<br />\n";
           
        echo "<td width=\"10%\"
              style=\"text-align:center\">" .
             "<a href='papan_pesanF.php?action=Hapus%20Pesan&" .
             "pesan=" . ($Indeks - 1) .
             "'>Hapus Pesan Ini</a>" .
             "</td>\n";

        echo "</tr>\n";
             ++$Indeks;
             next($ArrayPesanKunci);           
    }
}
?>
    <p>
      <a href="kirim_pesanF.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanF.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanF.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a>
    </p>
  </body>
 </html>






Projek: Papan Pesan Dengan Pengekstrakan Nilai dan Elemen Array
Berikut adalah kode dengan nama file kirim_pesanG.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);
     
    $JudulAda = array();
    if (file_exists("PapanPesan/pesan.txt") &&
        filesize("PapanPesan/pesan.txt") > 0) {
        $ArrayPesan = file("PapanPesan/pesan.txt");
        $kounter = count($ArrayPesan);
        for ($i = 0; $i < $kounter; ++$i) {
            $PesanSkrg = explode("~",$ArrayPesan[$i]);
            $JudulAda[] = $PesanSkrg[0];
        }
    }
     
    if (in_array($Judul, $PesanSkrg)) {
        echo "<p>Judul yang Anda masukkan telah ada!<br />\n";
        echo "Silahkan masukkan judul baru dan coba lagi.<br />\n";
        echo "Pesan Anda belum disimpan.</p>";
        $Judul = "";
    }
    else {
        $RekamanPesan = "$Judul~$Nama~$Pesan\n";
        $FilePesan = fopen("PapanPesan/pesan.txt", "ab");
        if ($FilePesan === FALSE)
            echo "Error penyimpanan pesan Anda!\n";
        else {
            fwrite($FilePesan, $RekamanPesan);
            fclose($FilePesan);
            echo "Pesan Anda telah tersimpan.\n";
            $Judul = "";
            $Pesan = "";
        }
    }
}
else {
    $Judul = "";
    $Nama = "";
    $Pesan = "";
}
?>
    <h1>Kirim Pesan Baru </h1>
    <hr />
      <form action="kirim_pesanG.php" method="POST">
      <span style="font-weight:bold">Judul:</span>
          <input type="text" name="judul"
           value="<?php echo $Judul; ?>" />
      <span style="font-weight:bold">Nama:</span>
        <input type="text" name="nama"
         value="<?php echo $Nama; ?>" /><br />
      <textarea name="pesan" rows="6" cols="80">
          <?php echo $Pesan;?></textarea><br />
      <input type="submit" name="submit" value="Kirim Pesan" />
      <input type="reset" name="reset" value="Reset Form" />
      </form>
    <hr />
    <p>
      <a href="papan_pesanG.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanG.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]);
        $ArrayPesanKunci[$pesanSkrg[0]] =
              $pesanSkrg[1] . "~" . $pesanSkrg[2];
    }
    $Indeks = 1;
     
    foreach($ArrayPesanKunci as $Pesan) {
        $pesanSkrg = explode("~", $Pesan);
        echo "<tr>\n";
        echo "<td width=\"5%\"
              style=\"text-align:center\"><span
              style=\"font-weight:bold\">" .
              $Indeks . "</span></td>\n";
                 
        echo "<td width=\"85%\"><span
              style=\"font-weight:bold\">Judul:
              </span> " .
        htmlentities(key($ArrayPesanKunci)) . "<br />";
           
        echo "<span style=\"font-weight:bold\">Nama:
              </span> " .
        htmlentities($pesanSkrg[1]) . "<br />\n";
           
        echo "<td width=\"10%\"
              style=\"text-align:center\">" .
             "<a href='papan_pesanG.php?action=Hapus%20Pesan&" .
             "pesan=" . ($Indeks - 1) .
             "'>Hapus Pesan Ini</a>" .
             "</td>\n";

        echo "</tr>\n";
             ++$Indeks;
             next($ArrayPesanKunci);           
    }
}
?>
    <p>
      <a href="kirim_pesanG.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanG.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanG.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a>
    </p>
  </body>
 </html>






Projek: Papan Pesan Dengan Pengurutan Menaik
Berikut adalah kode dengan nama file kirim_pesanH.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_pesanH.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_pesanH.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanH.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;
           
    case 'Hapus Duplikat':
        $ArrayPesan = array_unique($ArrayPesan);
        $ArrayPesan = array_values($ArrayPesan);
        break;
           
    case 'Urut Menaik':
       sort($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=\"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_pesanH.php?action=Hapus%20Pesan&" .
             "pesan=$i'>" . "Hapus pesan ini </a></td>\n";
        echo "</tr>\n";
    }
    echo "</table>\n";
}
?>
    <p>
      <a href="kirim_pesanH.php">
          Kirim Pesan Baru </a><br />
      <a href="papan_pesanH.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="papan_pesanH.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a><br />
        <a href="papan_pesanH.php?action=Hapus%20Duplikat">
          Hapus Pesan Duplikat</a><br />
        <a href="papan_pesanH.php?action=Urut%20Menaik">
          Urutkan Judul A-Z</a>
    </p>
  </body>
 </html>





Projek: Papan Pesan Dengan Pengurutan Menurun
Berikut adalah kode dengan nama file kirim_pesanI.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_pesanI.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_pesanI.php">Lihat Pesan</a>
    </p>
  </body>
 </html>

Berikut adalah kode dengan nama file papan_pesanH.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;
           
    case 'Hapus Duplikat':
        $ArrayPesan = array_unique($ArrayPesan);
        $ArrayPesan = array_values($ArrayPesan);
        break;
           
    case 'Urut Menaik':
       sort($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=\"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='kirim_pesanI.php?action=Hapus%20Pesan&" .
             "pesan=$i'>" . "Hapus pesan ini </a></td>\n";
        echo "</tr>\n";
    }
    echo "</table>\n";
}
?>
    <p>
      <a href="kirim_pesanI.php">
          Kirim Pesan Baru </a><br />
      <a href="kirim_pesanI.php?action=Hapus%20Pertama">
          Hapus Pesan Pertama</a><br />
      <a href="kirim_pesanI.php?action=Hapus%20Akhir">
          Hapus Pesan Terakhir</a><br />
        <a href="kirim_pesanI.php?action=Hapus%20Duplikat">
          Hapus Pesan Duplikat</a><br />
        <a href="kirim_pesanI.php?action=Urut%20Menaik">
          Urutkan Judul A-Z</a>
    </p>
  </body>
 </html>



No comments:

Post a Comment