当前位置: 首页 > 图文教程 > 网络编程 > PHP > 基于php的聊天室编程思想

PHP
工作笔记:配置MySQL为高可用集群 (1)
MySQL (C API)VC实例及代码下载 (1)(5)
MySQL (C API)VC实例及代码下载 (1)(4)
MySQL (C API)VC实例及代码下载 (1)(3)
MySQL (C API)VC实例及代码下载 (1)(2)
MySQL (C API)VC实例及代码下载 (1)
用JSP连接mysql数据库的方法 (1)(2)
用JSP连接mysql数据库的方法 (1)
MySQL数据库账户授权的相关管理解析 (1)(2)
MySQL数据库账户授权的相关管理解析 (1)
SAP MaxDB MySQL修补数据库严重漏洞
MySQL研发中心成立发布会会后访问整理 (1)(2)
MySQL研发中心成立发布会会后访问整理 (1)
MySQL中SQL-TEXT、DATE和SET数据类型
MySQL存在权限提升及安全限制绕过漏洞
MySQL 卸载的问题
windows下安装、卸载mysql服务
如何正确卸载MySQL
MySQL手册版本 5.0.20-MySQL优化(四) (1)(5)
MySQL手册版本 5.0.20-MySQL优化(四) (1)(4)

PHP 中的 基于php的聊天室编程思想


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

基于PHP的聊天室编程思想     drate [转贴] 
关键字   PHP,聊天室
出处   http://www.phpx.com
 
 
聊天室编程思想-- 大门--登陆

发表于:中国PHP联盟 www.phpx.com 作者/来源:php2000/php2000.com 人气:2768


大门--登陆
2000年09月04
1 页面登陆的基本要素
你可以在我的竹叶看到登陆 的表单,这里提供了最基本的登陆表单项
(1)登陆表单
<form method=POST name=chatform action=chat/login.php?action=enter onSubmit="b1_submit();return true;" target="howtodo">
(a)聊天表单的名字为chatform,我使用action=enter作为进入聊天室的入口,如果没有这个参数,则显示登陆页 面.
(b)在表单提交时,先调用b1_submit()建立聊天的窗口
(c)聊天的目标窗口为b1_submit()建立 的howtodo窗口

(2)表单项
昵称:<input type=text name=name size=15 maxlength="10">
密码:<input type=password name=pass size=15 maxlength="10">
<input type=submit name=submit value=登陆 style="width:100">
<input type=reset name=reset value=重添 style="width:50">
(a)各表单项一定要设定最大允许长度 maxlength

(3)建立聊天窗口的js
<script LANGUAGE="javascript">
function b1_submit(){
chat=window.open('',"howtodo",'Status=no,scrollbars=no,resizable=no');
chat.moveTo(0,0);
chat.resizeTo(screen.availWidth,screen.availHeight);
chat.outerWidth=screen.availWidth;
chat.outerHeight=screen.availHeight;
}
这段代码先 打开一个没有状态栏,滚动条,可调整尺寸的howtodo窗口!然后移动到屏幕左上角,然后放大到允许的屏幕大小.

 

 聊天室编程思想--大门 -- 通行证

发表于:中国PHP联盟 www.phpx.com 作者/来源:php2000/php2000.com 人气:2087


大门 -- 通行证
2000年09月04
聊天室可以采用完全自由的方式运行,你可以随意 输入呢称,不用密码,不保存你的聊天状态,优点是:自由,非常适合于游客!另外一个方法是注册聊天室,每个进入 聊天室的人都要输入自己的用户名和密码才能进入!优点:充分体现个性,非常适合于老朋友,他们的呢称不会被 人恶意侵占使用.我的聊天室使用注册方法!

注册通常采用2种方法:1,先注册然后进入聊天;2,自动注 册,然后在里面修改自己的资料!我采用第2种方法!!每个新进入的聊友的用户名会被自动保存到注册到数据库内 ,下次登陆必须输入准确的密码才能进入!

下面是判断部分!本程序使用文本数据库 !

file://$useronline为在线人的数据文件名称
file://$useronlinelock为在线人的锁定标志
file://$register为已经注册的数据文件名称
file://$registerlock为注册文件的锁定标志
file://$split为分隔 符

file://登陆参数 enter
if($action == "enter")
{
file://当前时间秒数
$timecurrent = date("U");

file://锁定在线人数文件,防止同时修改同一个文件
while( file_exists($useronlinelock))
{
if(!file_exists($useronlinelock))
{
break;
}
}

file://创建临时文件
fclose(fopen($useronlinelock,"w"));

file://读入在线用户和已经注册用户的信息:密码,昵称,更新时间
$useronline = file($useronline);
$register = file($register);

file://用于判断登 陆是否成功的标志
$namesign=0;

file://判断用户名,密码的错误,用户名不允许为空,不允许超过10 个字符,密码不允许超过20个字符
if(($name =="") || (strlen($name) > 10) || (strlen($pass) > 20) )
{
print("没有昵称或密码过长");
file://登陆失败
$namesign=1;
file://删除临时文件
unlink($useronlinelock);
}
else
{
file://查找是否已经有人注册或者密码错误
$foundsign=0;
for($i=0;$i<count($register);$i++)
{
file://分割
$tempregister = split($split,$register[$i],99);
file://找到已经注册的用户名
if( $name == $tempregister[0] )
{
file://已经找到标志
$foundsign=1;
file://密码正确吗
if($pass != $tempregister[1])
print("密码错了!");
file://登陆失败
$namesign=1;
unlink($useronlinelock);
break;
}
else
{
file://老用户登陆成功
$namesign=0;
break;<