IndeksFAQPendaftaranLoginbtaman bacaanForum TdBlog Semut Nungging

Pengunjung
page counter
Latest topics
» Download software organ tunggal gratis
by Nana80 Wed 29 May 2013, 16:40

» Membuat Background foto sendiri pada Facebook anda
by Tamu Mon 18 Mar 2013, 14:48

» Hosting Download/Upload File mudah, cepat, efisien dan gratis
by Om Jin Sun 17 Mar 2013, 12:57

» Popup Facebook Like Box Dengan Timer CountDown Untuk Blogger
by Om Jin Sat 16 Mar 2013, 17:29

» activator Sim Aquarium 3
by Om Jin Sat 16 Mar 2013, 13:09

» solfware
by sryvika Tue 05 Mar 2013, 08:08

» organ di computer
by nur idris Fri 25 Jan 2013, 17:24

» organ game tunggal
by awex bae Sat 19 Jan 2013, 12:44

Web / Blog Teman
User Yang Sedang Online
Total 1 user online :: 0 Terdaftar, 0 Tersembunyi dan 1 Tamu

Tidak ada

User online terbanyak adalah 309 pada Wed 07 Dec 2011, 13:06
Info Forum

Page Ranking Tool





Share | 
 

 Membuat Aplikasi Chating Dengan PHP

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
semut_nunggings
VIP Moderator
VIP Moderator


Jumlah posting : 574
Points : 4082
Join date : 08.10.09

PostSubyek: Membuat Aplikasi Chating Dengan PHP   Sun 25 Apr 2010, 20:17




Code:
Prinsip Kerja Aplikasi Chating

Pada desktop aplication banyak kita temui aplikasi chat seperti ym,mirc,etc..,konsep keja mereka sama saja yaitu :

1. aplkasi client (mirc) meminta request untuk bergabung dengan server irc dengan mengirimkan data data client
2. server akan membuat sebuah sesi untuk cient tersebut..lalu memberikan respon berupa data percakapan pengguna dimulai dari waktu user login sampai wwaktu sekarang
3. pada interval tertentu server akan mencek apakah user benar2 online

The Code

Pertama kita membuat aplikasi server yang akan menangani setiap request dari client. ketik kode berikut dan simpan dengan nama message.php

Code:
<?
session_start();
include "db.php";
        $status="active";
        $waktulogin=$_SESSION[waktulogin];
        $exp=date("His")+600;
        $uid=substr(session_id(),0,15);
        $time_now=date("His");
        $nick=$_SESSION[nick];
echo "qq";
function show_mesage()
{

global $status,$waktulogin,$exp,$uid,$time_now,$nick;

$sqlchat="select * from user,chat where chat.post_time >='$waktulogin' and chat.post_time <='$time_now' and user.nick_name=chat.nick_name";
// debug : echo "$sqlchat";
$qrychat=mysql_query($sqlchat) or die (mysql_error());
    $i=0;
    while ($datachat=mysql_fetch_array($qrychat))
    {
    $i++;
      echo "$i:< $datachat[nick_name] > : $datachat[pesan]<br></div>";
    }

}
function update_user()
{
global $status,$waktulogin,$exp,$uid,$time_now,$nick;

  $sql_exp="update user set exp_time='$exp' where nick_name='$nick'";
  mysql_query($sql_exp) or die (mysql_error());
}

function delete_user()
{
global $status,$waktulogin,$exp,$uid,$time_now,$nick;

$sql_del_user="delete from user where exp_time=$time_now or exp_time<=$time_now";
mysql_query($sql_del_user) or die (mysql_error());

}

function init()
{
global $status,$waktulogin,$exp,$uid,$time_now,$nick;

echo show_mesage();
delete_user();
update_user();
}

function save_message()
{
global $status,$waktu_login,$exp,$uid,$time_now,$nick,$msg;
$sqlchat="insert into chat (nick_name,pesan,post_time) values ('$nick','$msg','$time_now')";
$qrychat=mysql_query($sqlchat)or die(mysql_error());

}

function list_user()
{
echo "<b>USER LIST</b><br><br>";
$sqluser="select * from user";
$qryuser=mysql_query($sqluser) or die (mysql_error());
while ($datauser=mysql_fetch_array($qryuser))
 {
  if ($_SESSION[nick]==$datauser[nick_name])
  {
    echo "<b>< $datauser[nick_name] ></b><br>";
  }
  else
  {
    echo "<a href=private_room.php?nick1=$_SESSION[nick]&nick2=$datauser[nick_name] target=_blank>< $datauser[nick_name] ></a> <br>";
  }
 }

}

function cek_pv()
{
global $status,$waktulogin,$exp,$uid,$time_now,$nick;

$sqluser="select distinct(sender),received from private_room where received='$nick'";
$qryuser=mysql_query($sqluser) or die (mysql_error());
while ($datauser=mysql_fetch_array($qryuser))
 {
  if ($nick==$datauser[received]){
  echo "| <a href=private_room.php?nick1=$_SESSION[nick]&nick2=$datauser[sender] target=_blank>< $datauser[sender] ></a> |";
  }
 }


}
 
 
 
 
    switch($_GET[action])
    {
        case "" :
        {
        init();break;
        }
        case "view":
        {
          init();break;
        }
        case "send":
        {
              $msg=$_GET[inputText];
            save_message();
            init();
            break;
   
        }
        case "cek_pv":
        {
        echo cek_pv();break;
        }
        case "list_user":
        {
        echo list_user();
        break;
        }
   

    }
?>



sebelumnya buat file db.php untuk konfigurasi dan koneksi ke mysql database :

Code:
<?
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="chat_db";

mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
?>


Sebagai antar muka client buat file dengan nama client.php dan masukkan kode berikut:

Code:
<?
//session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>Untitled Document</title>
  <script language="javascript" type="text/javascript">

function getHTTPObject()
{
  var xmlHttp

  try
  {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

function setuserlist()
{
      if(ulisthttpObject.readyState == 4)
      {
        document.getElementById('userlist').innerHTML = ulisthttpObject.responseText;
      }
}

function userlist()
{
              ulisthttpObject = getHTTPObject();
              if (ulisthttpObject != null)
                {
                  ulisthttpObject.open("GET", "message.php?action=list_user", true);
                  ulisthttpObject.onreadystatechange = setuserlist;
                  ulisthttpObject.send(null);

                }
}

 function setOutput()
  {
 
    if(httpObject.readyState == 4)
    {
        document.getElementById('outputText').innerHTML = httpObject.responseText;
    }
 }
 
 
function reQuest()
{
        userlist();
    cekPrivate();
  httpObject = getHTTPObject();
         
              if (httpObject != null)
                {
                  httpObject.open("GET", "message.php?action=view", true);
                  httpObject.onreadystatechange = setOutput;
                  httpObject.send(null);

                }
           

}

  function sendMesage()
    {
            httpObject = getHTTPObject();
              if (httpObject != null)
                {
                  httpObject.open("GET", "message.php?action=send&inputText="
                                    +document.getElementById('inputText').value, true);
                  httpObject.onreadystatechange = reQuest;
                  httpObject.send(null);

                }
           
    }
 function set_pv()
  {
 
    if(pvhttpObject.readyState == 4)
    {
        document.getElementById('top_panel').innerHTML = pvhttpObject.responseText;
    }
 }
function cekPrivate()
    {
            pvhttpObject = getHTTPObject();
              if (pvhttpObject != null)
                {
                  pvhttpObject.open("GET","message.php?action=cek_pv",true);
                  pvhttpObject.onreadystatechange = set_pv;
                  pvhttpObject.send(null);

                }
           
    }

function reFresh()
{
  window.setInterval("reQuest()",1000);//-->
}
</script>
  <style type="text/css">
<!--
.output {
    border: 1px solid #555555;
    overflow: scroll;
    width: 75%;
    height: 400px;
    float:left;

}
.usrlist {
    border: 1px solid #555555;
    width: 20%;
    float: right;
    height: 400px;    overflow: scroll;

    }
.inputbox
{
    width: 100%;
}
.top_panel
{
    background-color: #ECE9D8;
    text-align: right;
    margin:5px;
    padding:5px;
}
-->
  </style>
  </head>
 
<body onLoad="reFresh();">
<div class="top_panel" id="top_panel">| <a href="#">Log out</a></div>
<div class="output" id="outputText"  name="outputText"></div>
<div class="usrlist" id="userlist" name="userlist"></div>
<div class="inputbox">
  <form name="form1">
    <input name="inputText" type="text" id="inputText" size="100">
    <input type="button" value="Kirim Pesan" onClick="sendMesage();">
  </form>
</div>
</body>

  </html>

Terakhir kita akan membuat daftar user yang join ke server simpan dengan nama userlist.php

Code:
<?

include "db.php";
echo "<b>USER LIST</b><br><br>";
$sqluser="select * from user";
$qryuser=mysql_query($sqluser) or die (mysql_error());
while ($datauser=mysql_fetch_array($qryuser))
{
echo "<a href=private_room.php?id=$datauser[nick_name] target=_blank>< $datauser[nick_name] ></a> <br>";
}
?>


jangan lupa untuk membuat databasenya :

Code:
CREATE TABLE `chat` (
  `nick_name` varchar(15) collate latin1_general_ci NOT NULL,
  `pesan` varchar(100) collate latin1_general_ci NOT NULL,
  `post_time` varchar(10) collate latin1_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

CREATE TABLE `user` (
  `fullname` varchar(50) collate latin1_general_ci NOT NULL,
  `nick_name` varchar(15) collate latin1_general_ci NOT NULL,
  `status` varchar(10) collate latin1_general_ci NOT NULL,
  `user_id` varchar(15) collate latin1_general_ci NOT NULL,
  `exp_time` varchar(10) collate latin1_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Aplikasi Chatting sederhana kita telah selesai..untuk penjelasan source code akan saya buat pada artikel kedua dan plus tambahan private message........!


Baca Juga :
- CARA HACK AKUN FACEBOOK TERUPDATE
- CARA CEPAT DI ADD BANYAK CEWEK FB DALAM WAKTU SINGKAT
- MAU PENGHASILAN 100 RIBU/JAM ?
- DI ADD RIBUAN TEMAN FB DALAM WAKTU SINGKAT


Kembali Ke Atas Go down
http://www.it-duduls.com
ridho_evan
Admins
Admins


Jumlah posting : 2047
Points : 4889
Join date : 25.09.09
Age : 25
Lokasi : Muara bungo

PostSubyek: Re: Membuat Aplikasi Chating Dengan PHP   Sun 25 Apr 2010, 22:26




mikir


Baca Juga :
- CARA HACK AKUN FACEBOOK TERUPDATE
- CARA CEPAT DI ADD BANYAK CEWEK FB DALAM WAKTU SINGKAT
- MAU PENGHASILAN 100 RIBU/JAM ?
- DI ADD RIBUAN TEMAN FB DALAM WAKTU SINGKAT




--==яiđЂō d'Cybertronic ⎝⋋⎵⋌⎠==--

Kembali Ke Atas Go down
Om Jin
Owner
Owner


Jumlah posting : 4120
Points : 8492
Join date : 21.09.09
Age : 35
Lokasi : muara tebo / Jambi

PostSubyek: Re: Membuat Aplikasi Chating Dengan PHP   Mon 26 Apr 2010, 12:48




lu aja yg bikin mut.. ntar kita tinggal minta crazy


Baca Juga :
- CARA HACK AKUN FACEBOOK TERUPDATE
- CARA CEPAT DI ADD BANYAK CEWEK FB DALAM WAKTU SINGKAT
- MAU PENGHASILAN 100 RIBU/JAM ?
- DI ADD RIBUAN TEMAN FB DALAM WAKTU SINGKAT


Kembali Ke Atas Go down
http://www.facebook.com/indrabastian.omjin
Sponsored content




PostSubyek: Re: Membuat Aplikasi Chating Dengan PHP   Today at 18:33





Baca Juga :
- CARA HACK AKUN FACEBOOK TERUPDATE
- CARA CEPAT DI ADD BANYAK CEWEK FB DALAM WAKTU SINGKAT
- MAU PENGHASILAN 100 RIBU/JAM ?
- DI ADD RIBUAN TEMAN FB DALAM WAKTU SINGKAT


Kembali Ke Atas Go down
 

Membuat Aplikasi Chating Dengan PHP

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 

 Similar topics

-
» [Blender] How to Cellshading
» Resistor untuk mengakali kelistrikan
» Aplikasi buat Editan (Gear Design)??
» Cara MenDesign Gear Dengan PhotoShop
» MEMBUAT GAME ASAH OTAK MEMAKAI POWER POINT
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
Forum Berbagi Om Jin :: INTERNET :: HACKING, CRACKING-