php网页版聊天软件实现代码
来源: 阅读:1219 次 日期:2016-08-29 14:52:17
温馨提示: 小编为您整理了“php网页版聊天软件实现代码”,方便广大网友查阅!

本文实例为大家分享了php匿名聊天室的具体实现代码,供大家参考,具体内容如下

1. index.html    

<html>

 <head>

  <title>聊天室</title>

  <meta charset="utf-8"/>

  <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" 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() {

    //创建ajax对象

    var xhr = new XMLHttpRequest();

    //监听

    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);

    //发送

    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);

    //一定要写头信息不然服务器接收不到

    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">错误!请进行一些更改。</div>

     -->

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

     </div>

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

     <div class="well" >

      <form role="form">

       <div class="form-group">

        <label for="name">发送消息</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>

         发送

        </button>

       </div>

      </form>

     </div>

     <!--聊天室发送框-->

    </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 '发送者昵称',

 `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

/**

 * @功能 将表单插入数据库

 */

$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";

以上就是本文的全部内容,希望对大家的学习有所帮助

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map