何必自讨苦吃呢?php 制作聊天室,关键技术是页面局部自动刷新。
创新互联是一家专注于成都网站设计、成都网站制作与策划设计,伽师网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:伽师等地区。伽师做网站价格咨询:028-86922220
通过php ajax技术,就可以完美的达到你的要求。
具体原理如下,在网页聊天框,被ajax调用,ajax传递参数一个php页面,这个页面同时调用数据库,将数据库中新内容返回到页面聊天框中。
然后你可以自己调时间了,是20秒访问一次数据库,还是10秒访问一次数据库。
至于php的socket技术,说实话,我接触php 8年了,没碰过。
我想,关键不是用什么技术,关键是解决问题。
希望对你有用。
单用php不行,需要刷新页面才能显示最新的数据
可使用php+ajax轮询来做
或者使用node.js技术
当然不是,流程是这样:
用户登录或者管理员从后台新建一个房间,入库,然后在需要的地方把数据调出来,这样新登入的用户就可以看到当前已经存在的房间了,然后就可以选择进入不同的房间,当用户进入房间以后会把用户与这个房间相关联,现在所有在这个房间有权限的人都可以发言了,然后使这条消息只显示给与这个房间相关联的用户。
你可以先做个简单点的。。然后再慢慢完善,一步一步的来。。
这里假设你的主页是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
直接写的没测试,希望能正确吧。