当然不是,流程是这样:
用户登录或者管理员从后台新建一个房间,入库,然后在需要的地方把数据调出来,这样新登入的用户就可以看到当前已经存在的房间了,然后就可以选择进入不同的房间,当用户进入房间以后会把用户与这个房间相关联,现在所有在这个房间有权限的人都可以发言了,然后使这条消息只显示给与这个房间相关联的用户.
你可以先做个简单点的..然后再慢慢完善,一步一步的来..
①.,配置文件
复制代码代码如下:
php
define('PATH',dirname($_SERVER['SCRIPT_NAME'])); //聊天室目录
define('CHAT_NAME','PHP聊天室'); //聊天室名称
define("MESS", "mess.txt"); //聊天信息
define("PERSON", "person.txt"); //在线人名单
define("LINE",11); //公共窗口显示的行数
define("WELCOME","font color=blue欢迎光临".CHAT_NAME.",请遵守聊天室规则,不要恶意刷新,不要使用不文明用语./font"); //欢迎语
(1)chklogin()函数检查用户昵称是否重复.参数$user是登录用户的昵称.当函数返回值为True时,昵称不可用;返回值为False时,昵称可用.
function chklogin($file,$user){
$boo = false;
if(file_exists($file)){
$userarr = file($file);
/* 判断昵称是否重复 */
foreach($userarr as $value){ //判断昵称是否重复
$tmparr = explode('#',$value); //使用"#"作为分隔符来拆分字符串
if($user == $tmparr[0]){ //如果用户数组中包含此用户
$boo = true;
break;
}
return $boo;
function addlogin($file,$user,$ip,$sex){
$fp = fopen($file,'a'); //写入方式在文件末尾追加信息
$boo = fwrite($fp,$tmp);
fclose($fp);
function storeuser($file){
$tmparr = file($file); //将文件内容写入数组
$userarr = array(); //创建数组
foreach($tmparr as $value){ //循环输出数组内容
$tmparr = explode('#',$value); //使用#拆分字符串
return $userarr;
function addmess($file,$mess){
$fp = fopen($file,'a'); //以追加的形式打开文件
fclose($fp); //关闭文件
return boo;
function deluser($file,$user){
$rearr = array(); //创建数组
$tmp = explode('#',$value); //使用#拆分字符串
if($tmp[0] != $user){ //如果变量中的用户名和当前用户不相等
$rearr[] = $value; //将该用户信息保存到新数组中
$fp = fopen($file,'w+'); //以只写的方式打开文件
foreach($rearr as $value){ //循环数组
fwrite($fp,$value); //写入数组内容
function getRows($file){
if(file_exists($file)){ //如果文件存在
$fl = file($file); //将文件按行写入数组
return count($fl); //求出数组长度并返回
}else{
return 0; //如果文件不存在,返回0
单用php不行,需要刷新页面才能显示最新的数据
可使用php+ajax轮询来做【指每隔一段时间查询一段数据】
或者使用node.js技术
单用php做聊天室的话,本来就不现实,服务器端用node.js,好像可以推送消息到浏览器.具体怎么的我也没去详细了解.
可以看下socket类型的php框架,比如swoole和workerman,workerman下面有个
workerman-chat
每个需要登录后查看的页面的开始写(一定要最开始,前面不能有任何字符包括回车或者空格)
php session_start();if(!isset($_SESSION['pass']))header("Location: login.php");?
在登录页面最开始写:
登录页内容里必须有form元素具有method属性值为post.
form元素里必须具有两个input具有name属性值分别为usr和pwd,最后一个按钮建议用input type=submit.例如:
form method="post"
Name: input name="usr"/br/
Name: input name="usr"/br/
Name: input name="usr"/br/
Password: input name="pwd"/br/
Password: input name="pwd"/br/
Password: input name="pwd"/br/
input type="submit" value="login"/
/form
直接写的没测试,希望能正确吧.
以上就是土嘎嘎小编为大家整理的匿名php网页聊天室相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!