当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP百行代码快速构建简易聊天室

PHP
PHP技巧:详解phplib模板使用过程及运行原理
PHP技巧:Smarty+adodb分页示例
PHP技巧:PHP脚本中关于拼写检查函数库
PHP技巧:PHP脚本编程中的文件系统函数库
PHP技巧:PHP中几种删除目录的三种方法
学习PHP技术:txtSQL安装手册中文版
学习PHP:PHP的通用检测函数总结
详细学习PHP中对文件和目录的操作方法
PHP+MYSQL实例:网站在线人数的程序代码
Linux操作系统启动httpd失败的解决方法
初学:在PHP开发中如何使用Session?
PHP初学者遇到的中文乱码解决方案
PHP实例:实现文件上传的程序源码
PHP实例:常用的数值判断函数
PHP实例源代码:PHP实现翻页处理的类
PHP实例:从数组里筛选出重复的数据
PHP实例:用PHP实现windows风格的树型菜单
PHP实例程序:实现给上传图片加水印图案的做法
PHP实例:用PHP编写的网上调查投票系统
PHP实例:一个非常全面获取图象信息的PHP函数

PHP百行代码快速构建简易聊天室


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 32 ::
收藏到网摘: n/a

 

无聊情况下,看能用比较少的代码构建聊天室,一开始写了整整100行把聊天室内完成,后来觉得很多功能没有,又重新修改,加了不少代码。其实不利用特别复杂的技术,比如模板、数据库等等,一样能做比较不错的聊天室,适合个人使用。

基本功能:能登陆,聊天,记录在线人数IP事件,能控制聊天的字体颜色,自动把转化聊天中网址为链接地址,能定制聊天室标题、广告信息等等。使用文本作为存储媒体,又兴趣可以参考代码,并且进行扩展。

其实PHP作为快速开发的脚本语言是很棒的!

===代码===

<?php
/**
 * 黑夜路人简易聊天室
 * 作者: heiyeluren <heiyeluren_at_163.com>
 * 创建: 2005-8-10 22:42
 * 修改: 2005-8-11 23:25
 */
error_reporting(7);
session_start();
header("ContentType:text/html;charset=gb2312");
define("SCRIPT", $_SERVER['SCRIPT_NAME']);
define("CHAT_NOTE", "./chat.txt");
define("ONLINE_LIST", "./online.txt");
define("REF_TIME", 5);
define("CHAT_NAME", "黑夜路人聊天室");
define("AD_MSG", "今天是中国情人节, 祝大家情人节快乐!!");

//获取值
if (isset($_GET['action']) && !empty($_GET['action'])) {
 $action = $_GET['action'];
}

//如果已经登陆那么直接跳到聊天界面
if (!isset($_GET['action']) && isset($_SESSION['username'])) {
 header("location:".SCRIPT."?action=chat");
}

//登陆提示
if (!isset($_GET['action']))
{
 if (!session_is_registered('username'))
 {
  echo " <p><h3 align=center>[ ".CHAT_NAME." ] &copy; 2005</h3></p>
   <p align=center>
   <form action=".SCRIPT."?action=login method=post>
   呢称: <input type=text size=25 maxlength=30 name=login_user>
   <input type=submit value=聊天>
   </form></p>
   ";
  exit;
 }
}

//校验登陆
if ($action=='login')
{
 if (isset($_POST['login_user']) && !empty($_POST['login_user'])) {
  $username = $_POST['login_user'];
 } else {
  $username = "游客";
 }
 session_register('username');
 save_online($username, get_client_ip());
 header("location:".SCRIPT."?action=chat");
}

//开始聊天www.knowsky.com
if ($action=="chat")
{
 $online_sum = get_online_sum();
 echo "<head><title>[ ".CHAT_NAME." ]</title></head><center><body bgcolor=#C4BFB9 style='font-size:12px;'>
   <div style='border:1px solid #999966; width:802px;height:450'><iframe src='".SCRIPT."?action=show' name=show_win width=800 height=450 scrolling=auto frameborder=0></iframe></div><br>
   <marquee width=70% scrollamount=2> ".AD_MSG." </marquee>&nbsp;&nbsp; [当前在线:$online_sum]
   <iframe src='".SCRIPT."?action=say' name=say_win width=800 height=60 scrolling=no frameborder=0>
 ";
}

//说话界面
if ($action=="say")
{
 echo "<head><title>[ ".CHAT_NAME." ]</title></head><center><body bgcolor=#C4BFB9 style='font-size:12px;'>
  <form action=".SCRIPT."?action=save method=post name=chat onSubmit='return check()'>
  [".$_SESSION['username']."]说:<input type=text size=80 maxlength=500 name=chatmsg style=' background-color:#99CC99; width:550px; height:22px; border:1px solid:#000000'>
  <select name=usercolor>
  <OPTION selected style='COLOR: #000000' value='000000'>默认颜色</OPTION>
  <OPTION style='COLOR: #000000' value='#000000'>黑色沉静</OPTION>
  <option style='COLOR: #ff0000' value='#FF0000'>红色热情</option>
  <option style='COLOR: #0000ff' value='#0000FF'>蓝色开朗</option>
  <option style='COLOR: #ff00ff' value='#FF00FF'>桃色浪漫</option>
  <option style='COLOR: #009900' value='#009900'>绿色青春</option>
  <option style='COLOR: #00999'