Cara Membuat Web Question & Answer Dengan PHP
CARA MEMBUAT WEB QUESTION & ANSWER DENGAN PHP
Ngode - Hai sobat Ngode, kali ini saya akan memberikan suatu tutorial yg insyaallah berguna. Latar belakang saya membuat sebuah script tanya jawab ini karena saya sangat penasaran dengan sistem pengiriman Private Message (PM), jadi saya membuat dengan sistem yg sama seperti PM lah, hehehe :D
Baiklah, kita langsung saja memulai tutorialnya bagaimana cara membuat Script Web Tanya Jawab menggunakan Notepad++ dengan enkripsi MD5 :
Notepad++ nya download sendiri ya di gugel :P
File yang akan kita buat adalah :
- koneksi.php
- index.php
- daftar.php
- prosesdaftar.php
- login.php
- proseslogin.php
- logout.php
- prosestanya.php
- prosesjawab.php
- cpanel.php
- prosescpanel.php
- admin.php
- daftaradmin.php
- prosesdaftaradmin.php
- deletemember.php
- deletequestion.php
- SQL File (Tinggal didownload dibawah)
Kita mulai dari pertama, Pastekan kode berikut di notepad++ lalu save.
Here we go :
1. Membuat koneksi.php (Simpan dengan nama koneksi.php)
<?php
//Setting Koneksi
$host = "localhost";
$user = "root";
$pass = "";
$db = "database";
//Mengkonoksikan ke database
$konek = mysql_connect($host, $user, $pass) or die ('Koneksi Gagal! ');
mysql_select_db($db);
?>
2. Membuat index.php (Simpan dengan nama index.php)
<?php
session_start(); //Memulai SESSION
//Mengecek SESSION
if(!isset($_SESSION['username'])) {
header('location:login.php'); }
else { $username = $_SESSION['username']; }
require_once("koneksi.php");
$query = mysql_query("SELECT * FROM user WHERE username = '$username'");
$hasil = mysql_fetch_array($query);
?>
<html>
<head>
<title>Question Website</title>
<style>
p.test
{
width:495px;
border:1px solid #000000;
word-wrap:break-word;
}
</style>
</head>
<body>
<center>
<?php
echo "<h2>Selamat Datang, ".strip_tags($username)." </h2>";
?>
<hr><br>
<form action="prosestanya.php" method="post">
<tr><td colspan="2" align="center"><b>Buat Pertanyaan:</b><h1></h1></td></tr>
<table>
<tr><td>Username</td><td> : <input type="text" name="username" value= <?php echo "$username"; ?> ></td></tr>
<tr><td>Pertanyaan</td><td> : <input type="text" name="tanya"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Submit"> <input type="reset" value="Clear"></td></tr>
</table>
</center>
</form>
<hr><br>
<center>
<div style="white-space:pre;overflow:auto;width:1300px;padding:10px;">
<table cellpadding="0" cellspacing="0" style="background:#ffc" border="1" width="1300" align="center">
<tr align="center" bgcolor="#CCCCCC">
<th style="background:red" width="52">Ticket ID</th>
<th style="background:red" width="154">Username</th>
<th style="background:red" width="154">Status</th>
<th style="background:red" width="470">Pertanyaan</th>
<th style="background:red" width="470">Jawaban</th>
</tr>
<?php
//Menampilkan data pertanyaan Pengguna dari databse kedalam sebuah tabel
$query = ("select * from quest WHERE username = '$username'");
$jalankan = mysql_query($query) or die(mysql_error());
while($sis = mysql_fetch_row($jalankan)){
echo "<tr>
<td align=center>".strip_tags($sis[0])."</td>
<td align=center>".strip_tags($sis[1])."</td>
<td align=center>".strip_tags($sis[2])."</td>
<td align=center>".strip_tags($sis[3])."</td>
<td align=center>".strip_tags($sis[4])."</td>
</tr>";
}
?>
</table>
</div>
<br><hr>
<a href="logout.php"><b>Logout</b></a>
<br><hr>
<footer>
<center>
<a href="cpanel.php">Admin Panel</a><br><br>
Script created by : <b>Fadli Maulana</b>
</center>
</body>
</html>
3. Membuat daftar.php (Simpan dengan nama daftar.php)
<?php
session_start(); //Memulai SESSION
//Mengecek SESSION
if(isset($_SESSION['username'])) {
header('location:index.php'); }
?>
<html>
<head>
<title>Form Pendaftaran</title>
</head>
<body>
<center>
<form action="prosesdaftar.php" method="post">
<table>
<tr><td colspan="2" align="center"><h1>Daftar Baru</h1></td></tr>
<tr><td>Username</td><td> : <input type="text" name="username"></td></tr>
<tr><td>Password</td><td> : <input type="password" name="password"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Daftar"> <input type="reset" value="Batal"></td></tr>
<tr><td colspan="2" align="center">Sudah Punya akun ? <a href="login.php"><b>Login</b></a></td></tr>
</table>
</form>
</center>
</body>
<footer>
<center>
<a href="cpanel.php">Admin Panel</a>
</center>
</html>
4. Membuat prosesdaftar.php (Simpan dengan nama prosesdaftar.php)
<?php
//koneksi ke databse MySQL
require_once("koneksi.php");
//Mengambil Data dari Form
$username = $_POST['username'];
$pass = $_POST['password'];
//Melindungi data dari SQL Injection
$username = stripslashes($username);
$pass = stripslashes($pass);
$username = mysql_real_escape_string($username);
$pass = mysql_real_escape_string($pass);
$e_pass = md5($pass);
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
//Kondisi untuk mengecek informasi pendaftaran
if(mysql_num_rows($cekuser) <> 0) {
echo "Username Sudah Terdaftar!<br/>";
echo "<a href='daftar.php'>Back</a>";
} else {
if(!$username || !$pass) {
echo "Masih ada data yang kosong!<br/>";
echo "<a href='daftar.php'>Back</a>";
} else {
//Menyimpan informasi pendaftaran ke database
$simpan = mysql_query("INSERT INTO user(username, password) VALUES('$username','$e_pass')");
if($simpan) {
//Kondisi jika sukses
echo "Pendaftaran Sukses, Silahkan <a href='login.php'>Login</a>";
} else {
//Kondisi jika gagal
echo "Proses Gagal!";
}
}
}
?>
5. Membuat login.php (Simpan dengan nama login.php)
<?php
session_start(); //Mengecek SESSION
if(isset($_SESSION['username'])) {
header('location:index.php'); }
require_once("koneksi.php");
?>
<html>
<head>
<title>Form Login</title>
</head>
<body>
<center>
<h1><b>Website Tanya Jawab</b></h2><hr><br>
<form action="proseslogin.php" method="post">
<font size="5"><b>Masuk</b></font><br>
<table>
<tr><td>Username</td><td> : <input type="text" name="username"></td></tr>
<tr><td>Password</td><td> : <input type="password" name="password"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Login"> <input type="reset" value="Batal"></td></tr>
<tr><td colspan="2" align="center">Belum Punya akun ? <a href="daftar.php"><b>Daftar</b></a></td></tr>
</table>
</form>
</center>
</body>
<footer>
<center>
<a href="cpanel.php">Admin Panel</a>
</center>
</html>
6. Membuat proseslogin.php (Simpan dengan nama proseslogin.php)
<?php
session_start(); //Starting Session
//koneksi ke Database MySql
require_once("koneksi.php");
//Mengambil data dari form
$username = $_POST['username'];
$pass = $_POST['password'];
//Melindungi data dari SQL Injection
$username = stripslashes($username);
$pass = stripslashes($pass);
$username = mysql_real_escape_string($username);
$pass = mysql_real_escape_string($pass);
$e_pass = md5($pass);
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
$jumlah = mysql_num_rows($cekuser);
$hasil = mysql_fetch_array($cekuser);
//Kondisi untuk mengecek informasi login
if($jumlah == 0) {
echo "Username Belum Terdaftar!<br/>";
echo "<a href='login.php'>Back</a>";
} else {
if($e_pass <> $hasil['password']) {
echo "Password Salah!<br/>";
echo "<a href='login.php'>Back</a>";
} else {
//Memulai Session
$_SESSION['username'] = $hasil['username'];
header('location:index.php');
}
}
?>
7. Membuat logout.php (Simpan dengan nama logout.php)
<?php
//Menghapus SESSION
session_start();
unset($_SESSION['username']);
unset($_SESSION['name']);
?>
<center>
<h2>Anda telah berhasil logout..</h2>
Silahkan klik <b><a href="login.php">disini</a></b> untuk login kembali
</center>
8. Membuat prosestanya.php (Simpan dengan nama prosestanya.php)
<?php
require_once("koneksi.php"); //Mengecek Koneksi
//Mengambil data dari Form
$username = $_POST['username'];
$tanya = $_POST['tanya'];
//Kondisi Untuk Mengecek data
if(!$username || !$tanya) {
echo "Data Masih kosong<br/>";
echo "<a href='index.php'>Back</a>";
} else {
//Menyimpan data kedalam database
$simpan = mysql_query("INSERT INTO quest(username, status, tanya, jawaban) VALUES('$username', 'Belum Terjawab', '$tanya', '')");
if($simpan) {
//Saat Proses selesai
echo "Pertanyaan telah dibuat, Silahkan <a href='index.php'>Kembali</a>";
} else {
//Saat Proses gagal
echo "Proses Gagal!";
}
}
?>
9. Membuat prosesjawab.php (Simpan dengan nama prosesjawab.php)
<?php
//Mengecek koneksi
require_once("koneksi.php");
//Mengambil data dari form
$id = $_POST['id'];
$status = $_POST['status'];
$jawaban = $_POST['jawaban'];
//Kondisi
if(!$id || !$status || !$jawaban) {
echo "Data Masih kosong<br/>";
echo "<a href='admin.php'>Back</a>";
} else {
//Mengupdate data dalam database
$query = mysql_query("UPDATE quest SET jawaban='$jawaban' WHERE id='$id'");
$query2 = mysql_query("UPDATE quest SET status='$status' WHERE id='$id'");
if($query || $query2) {
echo "Pertanyaan telah <font color=green>dijawab</font>, Silahkan <a href='admin.php'>Kembali</a>";
} else {
echo "Proses Gagal!";
}
}
?>
10.Membuat cpanel.php (Simpan dengan nama cpanel.php)
<?php
session_start(); //Memulai SESSION
//Mengecek SESSION
if(isset($_SESSION['name'])) {
header('location:admin.php'); }
require_once("koneksi.php");
?>
<html>
<head>
<title>Form Login</title>
</head>
<body>
<center>
<form action="prosescpanel.php" method="post">
<tr><td colspan="2" align="center"><h1>Masuk Control Panel</h1></td></tr>
<b>Hanya Admin yang dapat mengaksesnya</b>
<table>
<tr><td>Username</td><td> : <input type="text" name="name"></td></tr>
<tr><td>Password</td><td> : <input type="password" name="password"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Login"> <input type="reset" value="Batal"></td></tr>
</table>
</form>
<a href="index.php">Kembali</a>
</center>
</body>
</html>
11. Membuat prosescpanel.php (Simpan dengan nama prosescpanel.php)
<?php
session_start(); //Memulai SESSION
//Mengecek Koneksi
require_once("koneksi.php");
//Mengambil data dari Form
$name = $_POST['name'];
$pass = $_POST['password'];
//Melindungi data dari SQL Injection
$name = stripslashes($name);
$pass = stripslashes($pass);
$name = mysql_real_escape_string($name);
$pass = mysql_real_escape_string($pass);
$e_pass = md5($pass);
$cekuser = mysql_query("SELECT * FROM admin WHERE name = '$name'");
$jumlah = mysql_num_rows($cekuser);
$hasil = mysql_fetch_array($cekuser);
//Kondisi untuk mengecek informasi login
if($jumlah == 0) {
echo "ID Salah!<br/>";
echo "<a href='cpanel.php'>Back</a>";
} else {
if($e_pass <> $hasil['password']) {
echo "Password Salah!<br/>";
echo "<a href='cpanel.php'>Back</a>";
} else {
//Memulai SESSION
$_SESSION['name'] = $hasil['name'];
header('location:admin.php');
}
}
?>
12. Membuat admin.php (Simpan dengan nama admin.php)
<?php
session_start();
//Mengecek SESSION
if(!isset($_SESSION['name'])) {
header('location:cpanel.php'); }
else { $username = $_SESSION['name']; }
require_once("koneksi.php");
$query = mysql_query("SELECT * FROM admin WHERE name = '$name'");
$hasil = mysql_fetch_array($query);
?>
<html>
<head>
<title>Question Website</title>
<style>
p.test
{
width:495px;
border:1px solid #000000;
word-wrap:break-word;
}
</style>
</head>
<body>
<center>
<h1><font color="red"> CONTROL PANEL</font></h1>
<hr><br>
<?php
echo "<font size=5>Selamat Datang,<b><font color=blue> ".strip_tags($username)." </font> </b> </font>";
?>
<hr><br>
<form action="prosesjawab.php" method="post">
<tr><td colspan="2" align="center"><b>Jawab Pertanyaan:</b><h1></h1></td></tr>
<table>
<tr><td>Ticket ID</td><td> : <input type="text" name="id"></td></tr>
<tr><td>Status</td><td> : <input type="text" name="status" value="Terjawab" readonly="readonly"></td></tr>
<tr><td>Jawaban</td><td> : <input type="text" name="jawaban"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Balas"> <input type="reset" value="Clear"></td></tr>
</table>
</center>
</form>
<hr><br>
<center>
<b>Tabel Pertanyaan Dari User</b>
<a id="show_id" onclick="document.getElementById('spoiler_id').style.display=''; document.getElementById('show_id').style.display='none';" class="link">[Show]</a><span id="spoiler_id" style="display: none"><a onclick="document.getElementById('spoiler_id').style.display='none'; document.getElementById('show_id').style.display='';" class="link">[Hide]</a><br>
<div style="white-space:pre;overflow:auto;width:1300px;padding:10px;">
<table cellpadding="0" cellspacing="0" style="background:#ffc" border="1" width="1300" align="center">
<tr align="center" bgcolor="#CCCCCC">
<th style="background:red" width="52">Ticket ID</th>
<th style="background:red" width="154">Username</th>
<th style="background:red" width="154">Status</th>
<th style="background:red" width="470">Pertanyaan</th>
<th style="background:red" width="470">Jawaban</th>
</tr>
<?php
//Menampilkan Pertanyaan User
$query = ("select * from quest");
$jalankan = mysql_query($query) or die(mysql_error());
while($sis = mysql_fetch_row($jalankan)){
echo "<tr>
<td align=center>".strip_tags($sis[0])."</td>
<td align=center>".strip_tags($sis[1])."</td>
<td align=center>".strip_tags($sis[2])."</td>
<td align=center>".strip_tags($sis[3])."</td>
<td align=center>".strip_tags($sis[4])."</td>
</tr>";
}
?>
</table>
</div>
</span>
<hr><br>
<center>
<b>Jumlah Member</b>
<a id="show_id2" onclick="document.getElementById('spoiler_id2').style.display=''; document.getElementById('show_id2').style.display='none';" class="link">[Show]</a><span id="spoiler_id2" style="display: none"><a onclick="document.getElementById('spoiler_id2').style.display='none'; document.getElementById('show_id2').style.display='';" class="link">[Hide]</a><br>
<div style="white-space:pre;overflow:auto;width:300px;padding:10px;">
<table cellpadding="0" cellspacing="0" style="background:#ffc" border="1" width="300" align="center">
<tr align="center" bgcolor="#CCCCCC">
<th style="background:red" width="26">ID</th>
<th style="background:red" width="52">Username</th>
</tr>
<?php
//Menampilkan Data User
$query = ("select * from user");
$jalankan = mysql_query($query) or die(mysql_error());
while($sis = mysql_fetch_row($jalankan)){
echo "<tr>
<td align=center>".strip_tags($sis[0])."</td>
<td align=center>".strip_tags($sis[1])."</td>
</tr>";
}
?>
</table>
</div>
</span>
<hr><br>
<center>
<b>Jumlah Admin</b>
<a id="show_id3" onclick="document.getElementById('spoiler_id3').style.display=''; document.getElementById('show_id3').style.display='none';" class="link">[Show]</a><span id="spoiler_id3" style="display: none"><a onclick="document.getElementById('spoiler_id3').style.display='none'; document.getElementById('show_id3').style.display='';" class="link">[Hide]</a><br>
<div style="white-space:pre;overflow:auto;width:300px;padding:10px;">
<table cellpadding="0" cellspacing="0" style="background:#ffc" border="1" width="300" align="center">
<tr align="center" bgcolor="#CCCCCC">
<th style="background:red" width="26">ID</th>
<th style="background:red" width="52">Username</th>
</tr>
<?php
//Menampilkan data Admin
$query = ("select * from admin");
$jalankan = mysql_query($query) or die(mysql_error());
while($sis = mysql_fetch_row($jalankan)){
echo "<tr>
<td align=center>".strip_tags($sis[0])."</td>
<td align=center>".strip_tags($sis[1])."</td>
</tr>";
}
?>
</table>
</div>
</span><br>
<hr><br>
<center>
<b><font color="green">Pengaturan Member</font></b>
<a id="show_id4" onclick="document.getElementById('spoiler_id4').style.display=''; document.getElementById('show_id4').style.display='none';" class="link">[Show]</a><span id="spoiler_id4" style="display: none"><a onclick="document.getElementById('spoiler_id4').style.display='none'; document.getElementById('show_id4').style.display='';" class="link">[Hide]</a><br>
<form action="deletemember.php" method="post">
<table>
<tr><td>Delete Member</td><td> : <input type="text" name="delmem"> (Username) </td> </tr>
<tr><td colspan="2" align="right"><input type="submit" value="Delete"> <input type="reset" value="Clear"></td></tr>
</center></form>
<form action="deletequestion.php" method="post">
<tr><td>Delete All Member Question</td><td> : <input type="text" name="delque"> (Username) </td> </tr>
<tr><td colspan="2" align="right"><input type="submit" value="Delete"> <input type="reset" value="Clear"></td></tr>
</table>
</center>
</form>
</span><br>
<br><hr>
<footer>
<center>
Script created by : <b>Fadli Maulana</b>
<br>
<a href="logout.php"><b>Logout</b></a> - <a href="daftaradmin.php"><b>Add New Admin</b></a>
</center>
</body>
</html>
13. Membuat daftaradmin.php (Simpan dengan nama daftaradmin.php)
<?php
session_start(); //Memulai SESSION
//Mengecek SESSION
if(!isset($_SESSION['name'])) {
header('location:admin.php'); }
else { $name = $_SESSION['name']; }
require_once("koneksi.php");
$query = mysql_query("SELECT * FROM admin WHERE name = '$name'");
$hasil = mysql_fetch_array($query);
?>
<html>
<head>
<title>Form Pendaftaran</title>
</head>
<body>
<center>
<form action="prosesdaftaradmin.php" method="post">
<table>
<tr><td colspan="2" align="center"><h1>Daftar Admin Baru</h1></td></tr>
<tr><td>Username</td><td> : <input type="text" name="name"></td></tr>
<tr><td>Password</td><td> : <input type="password" name="password"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Daftar"> <input type="reset" value="Batal"></td></tr>
</table>
</form>
</center>
</body>
<footer>
<center>
<a href="cpanel.php">Admin Panel</a>
</center>
</html>
14. Membuat prosesdaftaradmin.php (Simpan dengan nama prosesdaftaradmin.php)
<?php
//Mengecek koneksi
require_once("koneksi.php");
//Mengambil data dari Form
$name = $_POST['name'];
$pass = $_POST['password'];
//Melindungi data dari SQL Injection
$name = stripslashes($name);
$pass = stripslashes($pass);
$name = mysql_real_escape_string($name);
$pass = mysql_real_escape_string($pass);
$e_pass = md5($pass);
$cekuser = mysql_query("SELECT * FROM admin WHERE name = '$name'");
//Kondisi
if(mysql_num_rows($cekuser) <> 0) {
echo "Username Sudah Terdaftar!<br/>";
echo "<a href='daftaradmin.php'>Back</a>";
} else {
if(!$name) {
echo "Masih ada data yang kosong!<br/>";
echo "<a href='daftaradmin.php'>Back</a>";
} else {
//Memasukan data kedalam database
$simpan = mysql_query("INSERT INTO admin(name, password) VALUES('$name','$e_pass')");
if($simpan) {
echo "Pendaftaran Sukses, Silahkan <a href='cpanel.php'>Login</a>";
} else {
echo "Proses Gagal!";
}
}
}
?>
15. Membuat deletemember.php (Simpan dengan nama deletemember.php)
<?php
//Mengecek koneksi
require_once("koneksi.php");
//Mengambil data dari form
$username = $_POST['delmem'];
//Kondisi
if(!$username) {
echo "Data Masih kosong<br/>";
echo "<a href='admin.php'>Back</a>";
} else {
//Menghapus data username didalam database
$query = mysql_query("DELETE FROM user WHERE username='$username'");
$query2 = mysql_query("DELETE FROM question WHERE username='$username'");
if($query || $query2) {
echo "Member telah <font color=red>dihapus</font>, Silahkan <a href='admin.php'>Kembali</a>";
} else {
echo "Proses Gagal!";
}
}
?>
16. Membuat deletequestion.php (Simpan dengan nama deletequestion.php)
<?php
//Mengecek koneksi
require_once("koneksi.php");
//Mengambil data dari Form
$username = $_POST['delque'];
//Kondisi
if(!$username) {
echo "Data Masih kosong<br/>";
echo "<a href='admin.php'>Back</a>";
} else {
//Menghapus data pertanyaan dari database
$query = mysql_query("DELETE FROM question WHERE username='$username'");
if($query) {
echo "Semua Pertanyaan $username telah <font color=red>dihapus</font>, Silahkan <a href='admin.php'>Kembali</a>";
} else {
echo "Proses Gagal!";
}
}
?>
Setelah selesai membuat ke-16 file PHP tadi, hasilnya seperti ini :
Lalu, saatnya mendownload database MySQL berikut ini sebagai database dari script diatas :DOWNLOAD DISINI
Maka anda akan mempunyai 16 File PHP dan 1 file SQL
Langkah Selanjutnya :
Langkah 1 (Mengupload file PHP) :
-Buatlah hostingan (Ex: idhostinger.com)
-Pergi ke File Manager
-Buka folder public_html pada ftp
-Upload ke-16 file PHP tersebut
Langkah 2 (Mengupload file database [SQL] )
-Buka db4free.net
-Daftar akun
-Verifikasi akun dengan email
-Login PHP My Admin
-Klik "Import"
-Klik "Browse" lalu pilih "tanya.sql.zip" yg telah di download
-Buka file "koneksi -Lalu klik GO dan database akan diupload
Langkah 3 (Set Up Database)
-Edit file "koneksi.php" melalui file manager
-EDIT:
$host = "Database_Server"; //Example = db4free.com:3306
$user = "Database_Username"; //Username akun database/PhpMyAdmin anda
$pass = "Database_Password"; //Password akun database/PhpMyAdmin anda
$db = "Database"; //Nama database PhpMyAdmin anda
-Lalu Save
Jika sudah semua, tinggal menjalankan WEB anda bekerja dengan benar atau tidak ^_^
GOOD LUCK !!!
Salam Ngode.


Komentar
Posting Komentar