Implementation method of php web version chat software

墨辰丷
Release: 2023-03-29 08:56:02
Original
2696 people have browsed it

This article mainly introduces the implementation code of the PHP web version of the chat software, which can realize anonymous chat. Interested friends can refer to it

The specific content is as follows

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 += "<p class=&#39;alert alert-success&#39;>" +
         "<span class=&#39;name&#39;>" + info[i].send + ":</span>" +
         "<span class=&#39;message&#39;>" + info[i].content + "</span>" +
         "<span>(" + info[i].time + ")</span>" +
         "</p>";
       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(&#39;content&#39;).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(&#39;content&#39;).value="";
      }
     }
    };
    xhr.send(postData);
   }
  </script>
 </head>
 <body>
 
  <p class="panel panel-default" id="main">
   <!--聊天室名字--> 
   <p class="panel-heading">
    <h3 class="panel-title">
     匿名者聊天室
    </h3>
   </p>
   <!--聊天室名字-->
   <!--聊天室消息框-->
   <p class="panel-body ">
    <p class="well no-bottom ">
     <!--     消息框样式-->
     <!--
     <p class="alert alert-success">成功!很好地完成了提交。</p>
     <p class="alert alert-info">信息!请注意这个信息。</p>
     <p class="alert alert-warning">警告!请不要提交。</p>
     <p class="alert alert-danger">错误!请进行一些更改。</p>
     -->
     <p id="msg" class="showmessage">
     </p>
     <!--聊天室消息框-->
     <p class="well" >
      <form role="form">
       <p 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>
       </p>
       <p style="text-align: right">
        <button type="button" class="btn btn-primary" onclick="send()">
         <span class="glyphicon glyphicon-envelope"></span>
         发送
        </button>
       </p>
      </form>
     </p>
     <!--聊天室发送框-->
    </p>
   </p>
  </p>
 </body>
</html>
Copy after login

2. action.php

##

<?php
 
$link = mysqli_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;123&#39;, &#39;test&#39;);
mysqli_query($link, &#39;set names utf8&#39;);
$info= array();
header("Content-type: text/html; charset=utf-8");
$id=$_GET[&#39;maxid&#39;];
$data = mysqli_query($link, "select * from talk where id>$id");
while ($array = mysqli_fetch_assoc($data)) {
 $info[] = $array;
};
 
 echo json_encode($info);
Copy after login

3. chat.sql


DROP TABLE IF EXISTS `talk`;
CREATE TABLE `talk` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT &#39;id&#39;,
 `send` varchar(10) CHARACTER SET utf8 DEFAULT NULL COMMENT &#39;发送者昵称&#39;,
 `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;
Copy after login

4. add.php


<?php
 
/**
 * @功能 将表单插入数据库
 */
$content=$_POST[&#39;content&#39;];
print_r($_POST);
$time= date("Y-m-d H:i:s", time(0));
$link = mysqli_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;123&#39;, &#39;test&#39;);
mysqli_query($link, &#39;set names utf8&#39;);
$ip = $_SERVER["REMOTE_ADDR"];
$sql="INSERT INTO talk VALUES(NULL,&#39;匿名者&#39;,&#39;$ip&#39;,&#39;$content&#39;,&#39;$time&#39;)";
$data = mysqli_query($link,$sql);
echo "$content";
if($data)
 echo "1";
 else
  echo "0";
Copy after login

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

Detailed examples of how to use static variables in PHP

Notes on PHP Sesame Credit Access

thinkPHP’s method of implementing order digital reminder function

##

The above is the detailed content of Implementation method of php web version chat software. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!