php網(wǎng)頁版聊天軟件實(shí)現(xiàn)代碼
來源:易賢網(wǎng) 閱讀:1285 次 日期:2016-08-29 14:52:17
溫馨提示:易賢網(wǎng)小編為您整理了“php網(wǎng)頁版聊天軟件實(shí)現(xiàn)代碼”,方便廣大網(wǎng)友查閱!

本文實(shí)例為大家分享了php匿名聊天室的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下

1. index.html    

<html>

 <head>

  <title>聊天室</title>

  <meta charset="utf-8"/>

  <link rel="stylesheet">

  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

  <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>

  <link href="./css/style.css" rel="stylesheet"/>

  <script>

   var maxid = 0;

   function showmessage() {

    //創(chuàng)建ajax對象

    var xhr = new XMLHttpRequest();

    //監(jiān)聽

    xhr.onreadystatechange = function () {

     if (xhr.readyState === 4) {

      eval("var info=" + xhr.responseText);

      var text = "";

      for (var i = 0; i < info.length; i++)

      {

       text += "<div class='alert alert-success'>" +

         "<span class='name'>" + info[i].send + ":</span>" +

         "<span class='message'>" + info[i].content + "</span>" +

         "<span>(" + info[i].time + ")</span>" +

         "</div>";

       maxid = info[i].id;

      }

      var old = document.getElementById("msg").innerHTML;

      document.getElementById("msg").innerHTML = old + text;

      document.getElementById("msg").scrollTop = document.getElementById("msg").scrollHeight;

     }

    };

    //初始化

    xhr.open("get", "./action.php?maxid=" + maxid);

    //發(fā)送

    xhr.send();

   }

   $(document).ready(

     function ()

     {

      showmessage()

      self.setInterval("showmessage()", 2000);

     }

   );

   function send() {

    var postData ="content="+document.getElementById('content').value;

    var xhr = new XMLHttpRequest();

    xhr.open("POST", "./add.php", true);

    //一定要寫頭信息不然服務(wù)器接收不到

    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    xhr.onreadystatechange = function () {

     var XMLHttpReq = xhr;

     if (XMLHttpReq.readyState == 4) {

      if (XMLHttpReq.status == 200) {

       document.getElementById('content').value="";

      }

     }

    };

    xhr.send(postData);

   }

  </script>

 </head>

 <body>

  <div class="panel panel-default" id="main">

   <!--聊天室名字-->

   <div class="panel-heading">

    <h3 class="panel-title">

     匿名者聊天室

    </h3>

   </div>

   <!--聊天室名字-->

   <!--聊天室消息框-->

   <div class="panel-body ">

    <div class="well no-bottom ">

     <!--     消息框樣式-->

     <!--

     <div class="alert alert-success">成功!很好地完成了提交。</div>

     <div class="alert alert-info">信息!請注意這個信息。</div>

     <div class="alert alert-warning">警告!請不要提交。</div>

     <div class="alert alert-danger">錯誤!請進(jìn)行一些更改。</div>

     -->

     <div id="msg" class="showmessage">

     </div>

     <!--聊天室消息框-->

     <div class="well" >

      <form role="form">

       <div class="form-group">

        <label for="name">發(fā)送消息</label>

        <textarea class="form-control" id="content" name="content"

           style="resize: none;font-family: Microsoft YaHei;" rows="3" >

        </textarea>

       </div>

       <div style="text-align: right">

        <button type="button" class="btn btn-primary" onclick="send()">

         <span class="glyphicon glyphicon-envelope"></span>

         發(fā)送

        </button>

       </div>

      </form>

     </div>

     <!--聊天室發(fā)送框-->

    </div>

   </div>

  </div>

 </body>

</html>

2. action.php 

<?php

$link = mysqli_connect('localhost', 'root', '123', 'test');

mysqli_query($link, 'set names utf8');

$info= array();

header("Content-type: text/html; charset=utf-8");

$id=$_GET['maxid'];

$data = mysqli_query($link, "select * from talk where id>$id");

while ($array = mysqli_fetch_assoc($data)) {

 $info[] = $array;

};

 echo json_encode($info);

3. chat.sql 

DROP TABLE IF EXISTS `talk`;

CREATE TABLE `talk` (

 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',

 `send` varchar(10) CHARACTER SET utf8 DEFAULT NULL COMMENT '發(fā)送者昵稱',

 `ip` varchar(12) CHARACTER SET utf8 DEFAULT NULL,

 `content` varchar(500) CHARACTER SET utf8 DEFAULT NULL,

 `time` varchar(50) DEFAULT NULL,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8;

4. add.php

<?php

/**

 * @功能 將表單插入數(shù)據(jù)庫

 */

$content=$_POST['content'];

print_r($_POST);

$time= date("Y-m-d H:i:s", time(0));

$link = mysqli_connect('localhost', 'root', '123', 'test');

mysqli_query($link, 'set names utf8');

$ip = $_SERVER["REMOTE_ADDR"];

$sql="INSERT INTO talk VALUES(NULL,'匿名者','$ip','$content','$time')";

$data = mysqli_query($link,$sql);

echo "$content";

if($data)

 echo "1";

 else

  echo "0";

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:php網(wǎng)頁版聊天軟件實(shí)現(xiàn)代碼
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)