Membuat website forum dengan php

Kode Buku : 202872
Judul Buku : Proyek membuat aplikasi forum diskusi dengan php & mysql
Edisi : -
Penulis : Agus Saputra
Penerbit : CV Asfasolution
Bahasa : Indonesia
Tahun : 2014
ISBN : 978-602-14883-4-8
Tajuk Subjek : PHP,MySQL
Deskripsi : xii, 158 hlm.; 21 cm
Eksemplar : 2
Stok : 2
Petugas Input : Asri Mutiasari, S.Kom

Website Komunitas atau Forum, suatu wadah interaktif bagi sekumpulan orang untuk saling berdiskusi, beradu argumen, sharing topik, mengeluarkan ide, gagasan, dll. Merupakan sarana tepat untuk meningkatkan rating sebuah website disamping website blog. Forum tidak menggantikan blog, namun hanya saling melengkapi satu sama lainnya. Beberapa website forum yang terkenal, yaitu ., (forum), (forum), (forum), dll.

Buku ini membahas bagaimana membuat sebuah website komunitas atau forum secara coding menggunakan PHP dan MySQL, dari mulai konsep alur perancangan, diagram konteks, DFD, DFD Bertingkat, Flowchart, ERD, Perancangan Tabel hingga kepada pembuatan trik-trik utama pendukung website, seperti Membuat Re-Capctha, Image Rounded, Multiple Keyword Searching, Post Thread, Comments, Login with Facebook, serta bonus trik lainnya: Export PDF (HTMLtoPDF), Export Excel (PHPExcel) berserta kustomisasi, YM & Skype Status, JSON, URL Friendly, Membuat Barcode, dan masih banyak lainnya.

Bismillahirrahmanirrahim.

Assalamu’alaikum Wr. Wb.

Selamat Pagi menjelang siang 😀

Pada postingan kali ini saya akan berbagi tentang cara membuat form forum diskusi dengan PHP menggunakan MySQL. Ikuti langkah-langkah dibawah ini.

  1. Anda diharuskan sudah membuat form login untuk memudahkan form forum mengambil nama user yang login. Anda dapat ikuti langkah-langkah pembuatan form login dengan database pada link berikut ini.
  2. Setelah selesai membuat form login, buatlah dua buah tabel baru dengan nama ‘tbl_komentar’ dan ‘tbl_topik’. Berikut struktur tabel pada masing-masing tabel.
    tbl_topik
    Membuat website forum dengan php

    tbl_komentar
    Membuat website forum dengan php

  3. Selanjutnya, bukalah aplikasi notepad atau notepad++(recommended), kemudian buatlah 6 file PHP baru dengan nama ‘forum.php’‘view.php’‘create.php’‘proses_create.php’‘balas.php’, dan ‘proses_balas.php’. Berikut isi dari masing-masing file.
    forum.php
    <?php
       session_start();
       if(!isset($_SESSION['username'])){
          header("location:login.php");
          exit();
       }
    
       if(isset($_SESSION['username'])){
          $username = $_SESSION['username'];
       }
    
       include "config.php";
       $query=mysql_fetch_array(mysql_query("select * from tbl_login where username='$username'"));
       $query2=mysql_fetch_array(mysql_query("select * from tbl_topik where pengirim='$username'"));
    
       //Menghitung jumlah topik dan jumlah member
       $query3 = mysql_query("SELECT * FROM tbl_topik");
       $query4 = mysql_query("SELECT * FROM tbl_login");
       $jumlah_topik = mysql_num_rows($query3);
       $jumlah_member = mysql_num_rows($query4);
       //mencari total view (dilihat)
    
       if(isset($_GET['id_topik'])){
          $id_topik = $_GET['id_topik'];
       }else{
          $id_topik = "";
       }
    
       $query6=mysql_fetch_array(mysql_query("select dilihat from tbl_topik where id_topik='$id_topik'"));
       $dilihat = $query6 ['dilihat'] + 1;
       $sql2 = "UPDATE tbl_topik SET dilihat='$dilihat' WHERE id_topik='$id_topik'";
       $hasil2 = mysql_query($sql2, mysql_connect("localhost","root",""));
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>Forum Diskusi Member</title>
    </head>
    
    <body>
       <div align="center">
          <font size="6" class="merah"><br><br>Forum Diskusi<br><br></font><br />
          <table width="700" border="0" style="border: 2px solid gray; border-radius: 10px 10px 10px 10px;">
             <tr>
                <td height="29"> <div align="right"><strong class="hijau">Anda Login Sebagai : <?php echo $_SESSION['username']; echo "  "?> </strong></div></td>
             </tr>
             <tr>
                <td> </td>
             </tr>
             <tr>
                <?php
                   if(isset($_GET['id_topik'])){
                      $id_topik = $_GET['id_topik'];
                   }else{
                      $id_topik = "";
                   }
    
                   $query5=mysql_fetch_array(mysql_query("select * from tbl_topik where id_topik='$id_topik'"));
                ?>
    
                <td height="86">
                   <div align="center">
                      <div align="center" style="overflow:auto; width:790px; height:200px;">
                         <table width="771" border="0">
                            <tr>
                               <td width="62" bgcolor="#CCCCCC"><div align="center">#</div></td>
                               <td width="253" bgcolor="#CCCCCC"><div align="center"><font face="verdana" size="2">Topik</font></div></td>
                               <td width="128" bgcolor="#CCCCCC"><div align="center"><font face="verdana" size="2">Pengirim</font></div></td>
                               <td width="59" bgcolor="#CCCCCC"><div align="center"><font face="verdana" size="2">Balasan</font></div></td>
                               <td width="60" bgcolor="#CCCCCC"><div align="center">Dilihat</div></td>
                               <td width="183" bgcolor="#CCCCCC"><div align="center"><font face="verdana" size="2">Tanggal</font></div></td>
                            </tr>
    
                            <?php
                               $nomor = 1;
    
                               $sql = "SELECT * FROM tbl_topik ORDER by tanggal DESC";
                               $hasil=mysql_query($sql,mysql_connect("localhost","root",""));
                               while($record=mysql_fetch_array($hasil)){
                            ?>
    
                            <tr>
                               <td valign="top"> <font face="verdana" size="2"><?php echo $nomor++; ?></font></td>
                               <td valign="top"><font face="verdana" size="2"><a href="view.php?id_topik=<?php echo $record['id_topik']; ?>"><?php echo $record['topik']; ?></a></font></td>
                               <td valign="top"><div align="center"><font face="verdana" size="2"><?php echo $record['pengirim']; ?></font></div></td>
                               <td valign="top"><div align="center"><font face="verdana" size="2"><?php echo $record['total_balasan']; ?></font></div></td>
                               <td valign="top"><div align="center"><font face="verdana" size="2"><?php echo $record['dilihat']; ?></font></div></td>
                               <td valign="top"><div align="center"><font face="verdana" size="2"><?php echo $record['tanggal']; ?></font></div></td>
                            </tr>
    
                            <?php
                               //Berhenti Looping
                               }
                               mysql_close();
                            ?>
                         </table>
                      </div>
                   </div>
                </td>
             </tr>
             <tr>
                <td><div align="right"></div></td>
             </tr>
             <tr>
                <td width="735">
                <div align="center">
                   <table width="694" height="28" border="0">
                      <tr>
                         <td width="108"><div align="center"><strong><a href="create.php"><img src="image/new.png" width="64" height="64" title="Buat Thread Baru" /></a><br />Thread Baru</strong></div></td>
                      </tr>
                   </table>
                </div>
                </td>
             </tr>
             <tr>
                <td bgcolor="#000000">
                   <div align="center">
                      <table width="395" border="0">
                         <tr class="hijau">
                            <td><div align="center" class="hijau"><strong>Total Thread : <?php echo $jumlah_topik ?></strong></div></td>
                            <td><div align="center" class="hijau"><strong>Total Member : <?php echo $jumlah_member ?></strong> </div></td>
                         </tr>
                      </table>
                   </div>
                </tr>
                 </td>
             </table>
          </div>
    </body>
    </html>
    

    view.php

    <?php
       session_start();
       if(!isset($_SESSION['username'])){
          header("location:login.php");
          exit();
       }
    
       if(isset($_SESSION['username'])){
          $username = $_SESSION['username'];
       }
       
       include "config.php";
       $query=mysql_fetch_array(mysql_query("select * from tbl_login where username='$username'"));
       $query2=mysql_fetch_array(mysql_query("select * from tbl_topik where pengirim='$username'"));
    
       //Menghitung jumlah topik dan jumlah member
       $query3 = mysql_query("SELECT * FROM tbl_topik");
       $query4 = mysql_query("SELECT * FROM tbl_login");
       $jumlah_topik = mysql_num_rows($query3);
       $jumlah_member = mysql_num_rows($query4);
       //mencari total view (dilihat)
    
       if(isset($_GET['id_topik'])){
          $id_topik = $_GET['id_topik'];
       }else{
          $id_topik = "";
       }
    
       $query6=mysql_fetch_array(mysql_query("select dilihat from tbl_topik where id_topik='$id_topik'"));
       $dilihat = $query6 ['dilihat'] + 1;
       $sql2 = "UPDATE tbl_topik SET dilihat='$dilihat' WHERE id_topik='$id_topik'";
       $hasil2 = mysql_query($sql2, mysql_connect("localhost","root",""));
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>View
          <?php
             //Mengambil judul topik
             $query6=mysql_fetch_array(mysql_query("select * from tbl_topik where id_topik='$id_topik'"));
             echo """ .$query6['topik']. """
          ?>
       </title>
    </head>
    
    <body>
       <div align="center">
          <p><font size="6" class="merah"><br><br>Forum Diskusi<br><br></font></p>
          <table width="700" border="0" style="border: 2px solid gray; border-radius: 10px 10px 10px 10px;">
             <tr>
                <td height="29"> <div align="right"><strong class="hijau">Anda Login Sebagai : <?php echo $_SESSION['username']; echo "  "?> </strong></div></td>
             </tr>
             <tr>
                <td> </td>
             </tr>
             <tr>
                <?php
                   if(isset($_GET['id_topik'])){
                      $id_topik = $_GET['id_topik'];
                   }else{
                      $id_topik = "";
                   }
    
                   $query5=mysql_fetch_array(mysql_query("select * from tbl_topik where id_topik='$id_topik'"));
    
                   //mencari gambar pengirim thread
                   $username = $query5['pengirim'];
                   $query7=mysql_fetch_array(mysql_query("select * from tbl_login where username='$username' "));
                ?>
    
                <td height="304">
                   <table width="100%" border="1" cellpadding="3" cellspacing="1" bordercolor="1" bgcolor="#FFFFFF" style="border: 2px solid gray; border-radius: 10px 10px 10px 10px; background:#fff;">
                      <tr>
                         <td width="100%" bgcolor="#CCCCCC"><strong><img src="image/thread.png" alt="" width="22" height="22" align="left" />Dikirim <?php echo $query5['tanggal']; ?></strong></td>
                         <td width="100%" height="27" bgcolor="#CCCCCC"><div align="right"><strong># 1</strong></div></td>
                      </tr>
                      <tr>
                         <td colspan="2" valign="top" ><p><strong>
                            <span class="merah"><font size="3">Topik :</font><font size="3"></font></span><font size="3"> <?php echo $query5['topik']; ?><br />
                            </font></strong>
                            <strong><font size="3"><hr /></font></strong></p>
                            <pre><?php echo $query5['isi']; ?></pre>
                         </td>
                      </tr>
                      <tr>
                         <td colspan="2" valign="top" bgcolor="#CCCCCC">
                            <div align="right">
                               <table width="293" border="0">
                                  <tr>
                                     <td width="133"><div align="right"><strong><?php echo $query5['total_balasan']; ?> balasan </strong></div></td>
                                     <td width="252"><div align="right"><strong><?php echo $query5['dilihat']; ?> kali dilihat</strong></div></td>
                                  </tr>
                               </table>
                            </div>
                         </td>
                      </tr>
                   </table>
    
                   <div align="right"><a href="balas.php?id_topik=<?php echo $id_topik; ?>"><img src="image/reply.gif" width="72" height="26" title="Balas Thread Ini" /></a><br />
                   </div>
                   <div align="right"></div>
                   <div align="left"><strong>Respon untuk "<?php echo $query5['topik']; ?>"</strong>
                      <br />
                   </div>
                   <p>
                      <?php
                         // Menampilkan komentar
                         $nomor = 2;
                         $sql2="SELECT * FROM tbl_komentar WHERE id_topik='$id_topik' ORDER BY tanggal DESC";
                         $result2=mysql_query($sql2);
                         while($rows=mysql_fetch_array($result2)){
                      ?>
                   </p>
                   <table width="100%" border="0">
                <tr>
                   <td bgcolor="#CCCCCC">
                      <table width="100%" border="0">
                         <tr>
                            <td width="27%" valign="top">Tanggal : <?php echo $rows['tanggal']; ?></td>
                            <td width="27%" valign="top"> </td>
                            <td width="27%" valign="top"><div align="right"><strong># <?php echo $nomor++; ?></strong></div></td>
                         </tr>
                         <tr>
                            <td height="20" colspan="3" valign="top">
                               <p>
                                  <?php
                                     //Menyesuaikan gambar / avatar
                                     $user2 = $rows['penjawab'];
                                     $queryAvatar=mysql_fetch_array(mysql_query("select * from tbl_login where username='$user2'"));
                                  ?>
    
                                  <a href="profil.php?username=<?php echo $rows['penjawab']; ?>" ><?php echo $rows['penjawab']; ?></a><br />
                                  <strong>    <em>Re : <?php echo $rows['topik']; ?></em></strong><br />
                               </p>
                               <hr />
                               <pre><?php echo $rows['isi']; ?></pre>
                            </td>
                         </tr>
                         <tr>
                            <td height="18" colspan="3" valign="top" bgcolor="#CCCCCC"> </td>
                         </tr>
                      </table>
                   </td>
                </tr>
             </table>
             <p>
                <?php
                   }
                ?>
             </p>
             </td>
          </tr>
          <tr>
             <td><div align="right"><a href="balas.php?id_topik=<?php echo $id_topik; ?>"><img src="image/reply.gif" alt="" width="72" height="26" title="Balas Thread Ini"/></a></div></td>
          </tr>
          <tr>
             <td bgcolor="#000000">
                <div align="center">
                   <table width="395" border="0">
                      <tr class="hijau">
                         <td><div align="center" class="hijau"><strong>Total Thread : <?php echo $jumlah_topik ?></strong></div></td>
                         <td><div align="center" class="hijau"><strong>Total Member : <?php echo $jumlah_member ?></strong> </div></td>
                      </tr>
                   </table>
                </div>
             </td>
          </tr>
       </table>
    </div>
    </body>
    </html>
    

    create.php

    <?php
       session_start();
       if(!isset($_SESSION['username'])){
          header("location:login.php");
          exit();
       }
    
       if(isset($_SESSION['username'])){
          $username = $_SESSION['username'];
       }
       include "config.php";
       $query=mysql_fetch_array(mysql_query("select * from tbl_login where username='$username'"));
       $query2=mysql_fetch_array(mysql_query("select * from tbl_topik where pengirim='$username'"));
    
       //Menghitung jumlah topik dan jumlah member
       $query3 = mysql_query("SELECT * FROM tbl_topik");
       $query4 = mysql_query("SELECT * FROM tbl_login");
       $jumlah_topik = mysql_num_rows($query3);
       $jumlah_member = mysql_num_rows($query4);
       //mencari total view (dilihat)
    
       if(isset($_GET['id_topik'])){
          $id_topik = $_GET['id_topik'];
       }else{
          $id_topik = "";
       }
    
       $query6=mysql_fetch_array(mysql_query("select dilihat from tbl_topik where id_topik='$id_topik'"));
       $dilihat = $query6 ['dilihat'] + 1;
       $sql2 = "UPDATE tbl_topik SET dilihat='$dilihat' WHERE id_topik='$id_topik'";
       $hasil2 = mysql_query($sql2, mysql_connect("localhost","root",""));
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>Thread Baru</title>
    </head>
    
    <body>
       <div align="center">
       <font size="6" class="merah"><br><br>Forum Diskusi<br><br></font><br />
          <table width="700" border="0" style="border: 2px solid gray; border-radius: 10px 10px 10px 10px;">
             <tr>
                <td height="29" bgcolor="#000000"> <div align="right"><strong class="hijau">Anda Login Sebagai : <?php echo $_SESSION['username']; echo "  "?> </strong></div></td>
             </tr>
             <tr>
                <td> </td>
             </tr>
             <tr>
                <?php
                   if(isset($_GET['id_topik'])){
                      $id_topik = $_GET['id_topik'];
                   }else{
                      $id_topik = "";
                   }
    
                   $query5=mysql_fetch_array(mysql_query("select * from tbl_topik where id_topik='$id_topik'"));
                ?>
    
                <td height="86">
                   <div align="center">
                      <div align="center">
                         <form id="form1" name="form1" method="post" action="proses_create.php">
                            <table width="443" border="0">
                               <tr>
                                  <td colspan="3" bgcolor="#CCCCCC"><div align="center"><strong><font face="verdana" size="5">Thread Baru</font></strong></div></td>
                               </tr>
                               <tr>
                                  <td colspan="3" valign="top">
                                     <div align="center" class="merah2"> <strong>
                                        <?php
                                           if(isset($_GET['status'])){
                                              $status = $_GET['status'];
                                           }
                                           else{
                                              $status = "";
                                           }
    
                                            echo "$status";
                                         ?>
                                      </strong></div>
                                   </td>
                                </tr>
                                <tr>
                                   <td valign="top"><strong>Username</strong></td>
                                   <td valign="top"><div align="center"><strong>:</strong></div></td>
                                   <td valign="top"><input name="username" type="text" id="username" value="<?php echo $username?>" readonly="readonly" /></td>
                                </tr>
                                <tr>
                                   <td width="131" valign="top"><strong>Topik</strong></td>
                                   <td width="13" valign="top"><div align="center"><strong>:</strong></div></td>
                                   <td width="285" valign="top"><strong>
                                      <input name="topik" type="text" maxlength="40" />* ( Judul Thread )</strong></td>
                                </tr>
                                <tr>
                                   <td valign="top"><strong>Isi</strong></td>
                                   <td valign="top"><div align="center"><strong>:</strong></div></td>
                                   <td valign="top"><strong>
                                      <textarea name="isi" cols="45" rows="5"></textarea>
                                      </strong>
                                   </td>
                                </tr>
                                <tr>
                                   <td valign="top"> </td>
                                   <td valign="top"> </td>
                                   <td valign="top"><input type="submit" value="Kirim" /> 
                                      <input type="reset" value="Hapus" /></td>
                                </tr>
                                <tr>
                                   <td colspan="3" valign="top" bgcolor="#CCCCCC"><div align="center"></div></td>
                                </tr>
                             </table>
                          </form>
                       </div>
                    </div>
                 </td>
              </tr>
              <tr>
                 <td><div align="right"></div></td>
              </tr>
              <tr>
                 <td bgcolor="#000000">
                    <div align="center">
                       <table width="395" border="0">
                          <tr class="hijau">
                             <td><div align="center" class="hijau"><strong>Total Thread : <?php echo $jumlah_topik ?></strong></div></td>
                             <td><div align="center" class="hijau"><strong>Total Member : <?php echo $jumlah_member ?></strong> </div></td>
                          </tr>
                       </table>
                    </div>
                 </td>
              </tr>
           </table>
       </div>
    </body>
    </html>
    

    proses_create.php

    <?php
       $pengirim = $_POST['username'];
       $topik = $_POST['topik'];
       $isi = $_POST['isi'];
    
       $tanggal = date("Y-m-d H:i:s");
    
       include("config.php");
    
       if (empty($isi) || empty($topik))
       {
          header("location:create.php?status=Maaf, semua field harus di isi.");
       }
       else{
          $sql = "INSERT INTO tbl_topik (pengirim, topik, isi, tanggal) VALUES ('$pengirim', '$topik', '$isi', '$tanggal')";
          $hasil = mysql_query($sql, mysql_connect("localhost","root",""));
    
          if($hasil){
             echo "<script> alert('Thread berhasil ditambahkan'); location = 'forum.php'; </script>";
          }
          else {
              echo "<script> alert('Thread gagal ditambahkan'); location = 'create.php'; </script>";
          }
       }
    ?>
    

    balas.php

    <?php
       session_start();
       if(!isset($_SESSION['username'])){
          header("location:login.php");
          exit();
       }
    
       if(isset($_SESSION['username'])){
          $username = $_SESSION['username'];
       }
       include "config.php";
       $query=mysql_fetch_array(mysql_query("select * from tbl_login where username='$username'"));
       $query2=mysql_fetch_array(mysql_query("select * from tbl_topik where pengirim='$username'"));
    
       //Menghitung jumlah topik dan jumlah member
       $query3 = mysql_query("SELECT * FROM tbl_topik");
       $query4 = mysql_query("SELECT * FROM tbl_login");
       $jumlah_topik = mysql_num_rows($query3);
       $jumlah_member = mysql_num_rows($query4);
       //mencari total view (dilihat)
    
       if(isset($_GET['id_topik'])){
          $id_topik = $_GET['id_topik'];
       }else{
          $id_topik = "";
       }
    
       $query6=mysql_fetch_array(mysql_query("select dilihat from tbl_topik where id_topik='$id_topik'"));
       $dilihat = $query6 ['dilihat'] + 1;
       $sql2 = "UPDATE tbl_topik SET dilihat='$dilihat' WHERE id_topik='$id_topik'";
       $hasil2 = mysql_query($sql2, mysql_connect("localhost","root",""));
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>Member Lain</title>
    </head>
    
    <body>
       <div align="center">
          <p><font size="6" class="merah"><br><br>Forum Diskusi Member<br><br></font></p>
          <table width="700" border="0" style="border: 2px solid gray; border-radius: 10px 10px 10px 10px; background:#000000;">
             <tr>
                <td height="29" bgcolor="#000000"> <div align="right"><strong class="hijau">Anda Login Sebagai : <?php echo $_SESSION['username']; echo "  "?> </strong></div></td>
             </tr>
             <tr>
                <td> </td>
             </tr>
             <tr>
                <td>
                   <div align="center">
                      <div align="center">
                         <div align="center">
                            <?php
                               //mengambil biodata yang membalas thread
                               if(isset($_GET['id_topik'])){
                                  $id_topik = $_GET['id_topik'];
                               }else{
                                  $id_topik = "";
                               }
    
                               $hasil=mysql_fetch_array(mysql_query("select * from tbl_topik where id_topik='$id_topik'"));
                            ?>
                            <form id="form1" name="form1" method="post" action="proses_balas.php">
                               <table width="378" border="0">
                                  <tr>
                                     <td colspan="2" bgcolor="#CCCCCC"><div align="center"><strong><font face="verdana" size="5">Reply Thread</font></strong></div></td>
                                  </tr>
                                  <tr>
                                     <td colspan="2">
                                        <div align="center" class="merah">
                                           <?php
                                              if(isset($_GET['status'])){
                                                 $status = $_GET['status'];
                                              }
                                              else{
                                                 $status = "";
                                              }
    
                                               echo "$status";
                                            ?>
                                         </div>
                                      </td>
                                   </tr>
                                   <tr>
                                      <td><strong>Id Topik</strong></td>
                                      <td><strong>:
                                         <input name="id_topik" type="text" value="<?php echo $hasil['id_topik']; ?>" readonly="readonly" />
                                        </strong>
                                      </td>
                                   </tr>
                                   <tr>
                                      <td><strong>Topik</strong></td>
                                      <td><strong>:
                                         <input name="topik" type="text" id="topik" value="<?php echo $hasil['topik']; ?>" readonly="readonly" />
                                         </strong>
                                      </td>
                                    </tr>
                                    <tr>
                                       <td><strong>Penjawab</strong></td>
                                       <td><strong>:
                                          <input name="penjawab" type="text" value="<?php echo $username; ?>" readonly="readonly" />
                                          </strong>
                                       </td>
                                    </tr>
                                    <tr>
                                       <td colspan="2"><textarea name="isi" cols="60" rows="8"></textarea></td>
                                    </tr>
                                    <tr>
                                       <td width="94"> </td>
                                       <td width="278">
                                          <div align="right">
                                             <input name="input" type="submit" value="Simpan" />
                                          </div>
                                       </td>
                                    </tr>
                                 </table>
                              </form>
                           </div>
                        </div>
                     </div>
                  </td>
               </tr>
               <tr>
                  <td>
                     <div align="right"></div></td>
               </tr>
               <tr>
                  <td bgcolor="#000000">
                     <div align="center">
                        <table width="395" border="0">
                           <tr class="hijau">
                              <td><div align="center" class="hijau"><strong>Total Thread : <?php echo $jumlah_topik ?></strong></div></td>
                              <td><div align="center" class="hijau"><strong>Total Member : <?php echo $jumlah_member ?></strong> </div></td>
                           </tr>
                        </table>
                     </div>
                  </td>
               </tr>
            </table>
         </div>
    </body>
    </html>
    

    proses_balas.php

    <?php
       $id_topik = $_POST['id_topik'];
       $topik = $_POST['topik'];
       $penjawab = $_POST['penjawab'];
       $isi = $_POST['isi'];
    
       $tanggal = date("Y-m-d H:i:s");
    
       include("config.php");
       if (empty($isi))
       {
          header("location:balas.php?id_topik=$id_topik&status=Maaf, field komentar tidak boleh kosong");
       }
       else{
          $sql = "INSERT INTO tbl_komentar (id_topik, topik, penjawab, isi, tanggal) VALUES ('$id_topik', '$topik', '$penjawab', '$isi', '$tanggal')";
          $hasil = mysql_query($sql, mysql_connect("localhost","root",""));
          if($hasil){
             echo "<script> location = 'view.php?id_topik=$id_topik'; </script>";
          }
          else {
             echo "<script> alert('Komentar gagal ditambahkan'); location = 'forum.php'; </script>";
          }
    
          $query_balasan = mysql_query("SELECT id_topik FROM tbl_komentar WHERE id_topik='$id_topik'");
          $total_balas = mysql_num_rows($query_balasan);
          $total_balasan = $total_balas;
    
          //memasukan total balasan ke database
          $sql2 = "UPDATE tbl_topik SET total_balasan='$total_balasan' WHERE id_topik='$id_topik'";
          $hasil2 = mysql_query($sql2, mysql_connect("localhost","root",""));
    
          if($hasil2){
             echo "ok";
          }
          else {
             echo "<script> alert('Komentar gagal ditambahkan'); location = 'forum.php'; </script>";
          }
       }
    ?>
    
  4. Selanjutnya bukalah file ‘aksi_login.php’‘config.php’, dan ‘logout.php’. Ubah beberapa baris pada masing-masing file sehingga menjadi seperti dibawah ini. config.php
    <?php
       mysql_connect("localhost","root",""); // isi sesuai host anda
       mysql_select_db("login"); // nama database yang saya buat tadi
    ?>

    aksi_login.php

    <?php
       session_start(); //mulai session, krena kita akan menggunakan session pd file php ini
       include 'config.php'; //hubungkan dengan config.php untuk berhubungan dengan database
    
       $username=$_POST['username']; //tangkap data yg di input dari form login input username
       $password=$_POST['password']; //tangkap data yg di input dari form login input password
    
       $query=mysql_query("select * from tbl_login where username='$username' and password='$password'"); //melakukan pengampilan data dari database untuk di cocokkan
       $xxx=mysql_num_rows($query); //melakukan pencocokan
       if($xxx==TRUE){ // melakukan pemeriksaan kecocokan dengan percabangan.
          $_SESSION['username']=$username; //jika cocok, buat session dengan nama sesuai dengan username
          header("location:forum.php"); // dan alihkan ke index.php
       }else{ //jika tidak tampilkan pesan gagal login
          echo "<script> alert('Username atau Password Salah'); location = 'login.php'; </script>";
       }
    ?>
    

    logout.php

    <?php
       session_start(); //perintah agar file ini membaca/mengenal/memulai session
       session_destroy(); // perintah menghapus semua session yg ada
       header("location:login.php"); // mengalihkan halaman ke login.php
    ?>
    
  5. Selanjutnya buatlah sebuah folder baru pada folder login dengan nama ‘image’. Simpan gambar dibawah ini pada folder ‘image’. Pastikan namanya ‘reply.gif’, ‘new.jpg’ dan ‘thread.png’.
    Membuat website forum dengan php
    Membuat website forum dengan php
    Membuat website forum dengan php

  6. Bukalah browser anda, kemudian ketikkan ‘localhost/login/login.php’. Maka akan muncul tampilan login.php. Lakukan aktivitas login, jika berhasil akan masuk ke halaman ‘forum.php’. Kemudian buatlah sebuah thread baru, sehingga akan muncul halaman ‘create.php’. Masukkan judul topik dan isinya. Kemudian klik button kirim. Maka secara otomatis, topik baru telah dibuat. Untuk melihat isi dari topik, klik judul topik. Selanjutnya untuk komentar, klik button Reply.
  7. Selesai 😀

Selamat mencoba, semoga bermanfaat 😀

Wassalamu’alaikum Wr. Wb.

Source : http://serandal.blogspot.com/2013/01/forum-sederhana-dengan-php-dan-mysql.html

Let us share and learn together. Penulis sedang sibuk, maaf kalau belum sempat update blog dan balas komentar. Please leave a comment or follow my blog. Thankyou. View All Posts

Post navigation