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" οnclick="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";

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

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值