无数据库php聊天室,无数据库php聊天室怎么用

PHP如何实现聊天室

1,配置文件

创新互联是专业的常熟网站建设公司,常熟接单;提供网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行常熟网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

复制代码代码如下:

?php

define('PATH',dirname($_SERVER['SCRIPT_NAME'])); //聊天室目录

define('CHAT_NAME','PHP聊天室'); //聊天室名称

define("MESS", "mess.txt"); //聊天信息

define("PERSON", "person.txt"); //在线人名单

define("RETIME",3); //刷新时间

define("LINE",11); //公共窗口显示的行数

define("PRLINE",5); //私聊窗口显示的行数

define("MAX",50); //聊天室人数限制

define("MAXTIME",600000); //最大不发言时间,单位是毫秒

define("WELCOME","font color=blue欢迎光临".CHAT_NAME.",请遵守聊天室规则,不要恶意刷新,不要使用不文明用语。/font"); //欢迎语

?

2,公共函数文件

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

}

(2)addlogin()函数将登录的用户昵称写入文件中,保存格式为:昵称#IP#性别,参数$file是保存的文件地址,$user是用户昵称,$ip是登陆IP,$sex表示用户性别。

复制代码代码如下:

function addlogin($file,$user,$ip,$sex){

$tmp = $user.'#'.$ip.'#'.$sex.chr(13).chr(10); //chr(13) 是一个回车,Chr(10) 是个换行符,chr(32) 是一个空格符

$fp = fopen($file,'a'); //写入方式在文件末尾追加信息

$boo = fwrite($fp,$tmp);

fclose($fp);

return $boo;

}

(3)storeuser()函数的作用是将用户信息存为一个数组。格式为“用户名,用户性别”,参数$file是用户列表文件。代码如下:

复制代码代码如下:

function storeuser($file){

$tmparr = file($file); //将文件内容写入数组

$userarr = array(); //创建数组

foreach($tmparr as $value){ //循环输出数组内容

$tmparr = explode('#',$value); //使用#拆分字符串

$userarr[] = $tmparr[0].','.$tmparr[2]; //将用户名和用户性别保存到新数组中

}

return $userarr;

}

(4)addmess()函数将发言内容写入文件中。参数$file是保存的文件地址,$mess是要保存的内容

复制代码代码如下:

function addmess($file,$mess){

$fp = fopen($file,'a'); //以追加的形式打开文件

$boo = fwrite($fp,$mess.chr(13).chr(10)); //将信息写入文件中

fclose($fp); //关闭文件

return boo;

}

(5)deluser()函数的作用是删掉用户。参数$file是保存的文件地址,$user是要删除的用户

复制代码代码如下:

function deluser($file,$user){

$tmparr = file($file); //将文件内容写入数组

$rearr = array(); //创建数组

foreach($tmparr as $value){ //循环输出数组内容

$tmp = explode('#',$value); //使用#拆分字符串

if($tmp[0] != $user){ //如果变量中的用户名和当前用户不相等

$rearr[] = $value; //将该用户信息保存到新数组中

}

}

$fp = fopen($file,'w+'); //以只写的方式打开文件

foreach($rearr as $value){ //循环数组

fwrite($fp,$value); //写入数组内容

}

fclose($fp); //关闭文件

}

(6)getRows()函数的作用是返回文件的行数,参数$file是文件名

复制代码代码如下:

function getRows($file){

if(file_exists($file)){ //如果文件存在

$fl = file($file); //将文件按行写入数组

return count($fl); //求出数组长度并返回

}else{

return 0; //如果文件不存在,返回0

制作一个php的登陆页面 无需连接数据库 只需要昵称就能进入的聊天室

这里假设你的主页是index.php,登录前页面是login.php,用户名user1的密码为123。当然,给你提供的是PHP方法,所以你必须配置好了PHP并且每页都必须是PHP。

每个需要登录后查看的页面的开始写(一定要最开始,前面不能有任何字符包括回车或者空格)

?php session_start();if(!isset($_SESSION['pass']))header("Location: login.php");?

在登录页面最开始写:

?php session_start();$usr=array('user1'='123','user2'='456');if(isset[$_POST['usr']]isset[$_POST['pwd']]isset[$usr[$_POST['usr']]]$_POST['pwd']==$usr[$_POST['usr']])$_SESSION['pass']=1;if(isset($_SESSION['pass']))header("Location: index.php");?

登录页内容里必须有form元素具有method属性值为post。

form元素里必须具有两个input具有name属性值分别为usr和pwd,最后一个按钮建议用input type=submit。例如:

form method="post"

Name: input name="usr"/br/

Password: input name="pwd"/br/

input type="submit" value="login"/

/form

直接写的没测试,希望能正确吧。

如何做php聊天室啊?好心人帮帮忙

首先你得花点钱买个空间和域名,数据库有的是可以赠送的。要支持PHP+MYSQL。去下载一个聊天室的源代码,这个网上太多太多了。小的只有100K左右,大的好几十M。然后把下载的源代码上传到你买的空间里去。就完事了。然后用域名访问。。不过,很多空间商都不准装聊天室,太费资源,你得花多点钱买可供装聊天室的那种。如果有钱你就去买个江湖聊天室。这样又可以玩,又可以聊。

php聊天室

当然不是,流程是这样:

用户登录或者管理员从后台新建一个房间,入库,然后在需要的地方把数据调出来,这样新登入的用户就可以看到当前已经存在的房间了,然后就可以选择进入不同的房间,当用户进入房间以后会把用户与这个房间相关联,现在所有在这个房间有权限的人都可以发言了,然后使这条消息只显示给与这个房间相关联的用户。

你可以先做个简单点的。。然后再慢慢完善,一步一步的来。。

做php聊天室的时候,一直说我连接数据库失败,实在看不出来

连不上数据库只能上是边的代码问题,没必要都贴出来

require_once("sys_conf.inc");

$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD) or die("无法连接数据库!1");

在两句中间打印一下$DBHOST,$DBUSER,$DBPWD,,然后用这个登陆一下phpmyadmin看能登陆上不行就说明帐号密码或服务器设置错了

php制作聊天室遇到的问题

发送的太快会丢失

这个你可以从JS去限制或延迟请求的时间来解决.

怎么让一个用户不能同时登陆

你可以把请求的seesion自定义存储到文件或数据库中 , 登录就记录 , 退出就清除 , 非常退出 , 则定时清除数据当一个用户在登录状态下 , 在其他位置或新开窗口登录 , 那么可以查到是否已登录 . 这个是否要么 让新的登录 , 旧的退出 . 要么不允许新的登录 . 但是我们一般都是让新的登录 , 旧的退出 . 至于原因 , 就是我们也不知道那一次登录是本人 , 如果帐号被盗 , 那么用户就会找回密码 , 然后重新登录 . 所以采用此种模式 . 现在的QQ登录也是如此 .


分享文章:无数据库php聊天室,无数据库php聊天室怎么用
链接分享:http://csdahua.cn/article/dsipjje.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流