Monday, November 4, 2013

Cara membuat script php sistem pesan pribadi

Kali ini saya mau berbagi tutorial,yakni tutorial membuat pesan pribadi atau Private Message System atau yang biasa di sebut dengan "PM / WM / Whisper , DLL" ..
bisa di gunakan (gabungkan) di/dengan game juga script ini gan,karna simple (seperti quick arcade,cradown4,dll) :D ..

Sebelumnya, ini membutuhkan session ya gan. Dan jika agan punya tabel "Users" atau "Anggota" sendiri, gunakan punya agan aja. Di bawah ini hanya contoh. Scriptnya simple banget ini.

..Langsung aja gan :
1.Buat file SQL.SQL kode : 

CREATE TABLE `pesan` (
  `pesan_id` int(11) NOT NULL auto_increment,
  `dari_user` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
  `ke_user` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
  `judul_pesan` varchar(65) NOT NULL,
  `konten_pesan` longtext NOT NULL,
  `baca_pesan` int(11) NOT NULL default '0',
  PRIMARY KEY  (`pesan_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=21;


< Perhatian, Untuk tabel usernya bisa buat sendiri. Berikut contoh tabel user sederhana

CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
  `password` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=21;

2.Buat file inbox.php kode :
<?php
session_start();
require "database.php";
$userfinal=$_SESSION['session_name']; //ini posisi agan sudah login.

// get pesan dari tabel
$get_pesan = mysql_query("SELECT pesan_id FROM pesan WHERE ke_user='$userfinal' ORDER BY pesan_id DESC") or die(mysql_error());
$get_pesan2 = mysql_query("SELECT * FROM pesan WHERE ke_user='$userfinal' ORDER BY pesan_id DESC") or die(mysql_error());
$num_henlatoz = mysql_num_rows($get_pesan);
// menampilkan judul pesan yang menuju ke konten pesan.
echo '<ul>';
for($count = 1; $count <= $num_henlatoz; $count++)
{

 $row = mysql_fetch_array($get_pesan2);
 //jika pesan blm di baca, tampil "(BARU)" sesudah judul, jika sudah ke baca maka tidak ada tulisan itu :D
if($row['message_read'] == 0)
{
 echo '<a href="baca_pesan.php?pesanid=' . $row['pesan_id'] . '">' . $row['judul_pesan'] . '</a>(BARU)<br>';
}else{
echo '<a href="baca_pesan.php?pesanid=' . $row['pesan_id'] . '">' . $row['judul_pesan'] . '</a><br>';
}}
echo '</ul>';
echo '<form name="newmsgfrm" method="post" action="pesan_baru.php">';
 echo '<input type="submit" value="Buat Pesan Baru">';
 echo '</form>';

echo '<form name="backfrm" method="post" action="index.php">';
 echo '<input type="submit" value="Kembali ke Homepage">';
 echo '</form>';
?>
 3.Buat File "pesan_baru.php" kode :
<?php
session_start();
require "database.php";
$userfinal=$_SESSION['session_name'];
$user=$userfinal;
?>
<form name="pesan" action="ckpesan.php"
method="post">
<input type="text" name="judul_pesan"> Judul: <br>
<input type="text" name="ke_user"> Ke: <br>
Pesan: <br>
<textarea rows="20" cols="50" name="konten_pesan">
</textarea>
<?php
echo '<input type="hidden" name="dari_user" value="'.$user.'"><br>';
?>
<input type="submit" value="Submit">
</form>
 4.Buat File "ckpesan.php" kode :
<?php
session_start();
require "database.php";

$judul=$_POST['judul_pesan'];
$ke=$_POST['ke_user'];
$konten=$_POST['konten_pesan'];
$dari=$_POST['dari_user'];
$waktu=$_POST['tanggal_pesan'];

$lgc = "SELECT username FROM user WHERE username = '".$to."'";

  
  if( mysql_num_rows( mysql_query( $lgc ) ) == 0 ){
die("Usernya Hilang!!,Tidak DiTemukan!!,Panggil Polisi!!!!!!<br>
<form name=\"back\" action=\"new_message.php\"
method=\"post\">
<input type=\"submit\" value=\"Try Again\">
</form>
");
}
elseif(strlen($konten) < 1){
die("Anda tidak dapat mengirim pesan yang kosong.<br>
<form name=\"back\" action=\"pesan_baru.php\"
method=\"post\">
<input type=\"submit\" value=\"Coba Lagi\">
</form>
");
}
elseif(strlen($judul) < 1){
die("Pesan harus memiliki judul!<br>
<form name=\"back\" action=\"pesan_baru.php\"
method=\"post\">
<input type=\"submit\" value=\"Coba Lagi\">
</form>
");
}else{
mysql_query("INSERT INTO pesan (dari_user, ke_user, judul_pesan, konten_pesan, tanggal_pesan) VALUES ('$dari','$ke','$judul','$konten','$waktu')") OR die("Tidak dapat mengirim pesan: <br>".mysql_error()); 
echo "Pesan berhasil di kirim!";
?>
<form name="back" action="inbox.php"
method="post">
<input type="submit" value="Kembali ke Inbox">
</form>
<?php
}
?>
 5.Buat file "baca_pesan.php"
<?php
session_start();
$userfinal=$_SESSION['session_name'];
require "database.php";

$pesanid = $_GET['pesan'];
$pesan = mysql_query("SELECT * FROM pesan WHERE pesan_id = '$pesan_id' AND ke_user = '$userfinal'");
$pesan=mysql_fetch_assoc($pesan);

echo "<h1>Judul: ".$pesan['judul_pesan']."</h1><br><br>";
echo "<h3>Dari: ".$pesan['dari_user']."<br><br></h3>";
echo "<h3>Pesan: <br>".$pesan['konten_pesan']."<br></h3>";

echo '<form name="backfrm" method="post" action="inbox.php">';
 echo '<input type="submit" value="Kembali ke Inbox">';
 echo '</form>';
?>
 
 6.Ok,Bagian terakhir mari kita buat file dengan nama "database.php" ...kode :

<?php
mysql_connect ("localhost", "mysql_username", "mysql_password") or die ('Tidak dapat konek ke database karna: ' . mysql_error());
mysql_select_db ("db_name");
?>

16 comments:

  1. ada file aslinya gk boss?? naufal.syauqi@gmail.com... thank ya..

    ReplyDelete
  2. Naufal Syauqi : keknya gk ada gan,soalnya file-file ane hilang smua :( ..ntar deh ane buatin kalo lagi ada waktu :)

    ReplyDelete
  3. kalo udah punya admin sama user""nya gimana boss...???
    tinggal nambah menu buat pesan, pesan masuk, pesan keluar,,..??

    ReplyDelete
    Replies
    1. Bisa gan, bisa di atur itu. Mari gabung di group LygaCool : https://www.facebook.com/groups/lygacool/

      Delete
  4. baca_pesan kyknya ada yg salah deh mas, kok ga nampilin pesannya ya?
    mohon dibalas :)

    ReplyDelete
    Replies
    1. Halo gan, mohon maaf atas keterlambatan saya merespon. Btw, untuk masalah di atas..mari kita selesaikan di group LygaCool. (https://www.facebook.com/groups/lygacool/)

      Delete
  5. Ana udah minta gabung di lygacool.. di acc ya gan 😂

    ReplyDelete
  6. kok pada saat ane bikin pesan muncul Usernya Hilang!!,Tidak DiTemukan!!,Panggil Polisi!!!!!!
    Kenapa yaaa gan :v

    ReplyDelete
    Replies
    1. Berarti Usernya tidak ada atau tidak ditemukan di database.

      Delete
  7. gk bener ini, tabel usernya ga ada -__- lain kali kalo ngasih tutorial yang bener mas

    ReplyDelete
    Replies
    1. Sorry gan, ke hapus..dah ane update. Thanks ya masukannya.

      Delete
  8. This comment has been removed by the author.

    ReplyDelete
  9. itu yg nama sessionnya harus diganti gak gan?

    ReplyDelete

Menjadi Donatur untuk blog ini hanya dengan 1 klik iklan.