地址栏 Id 问题!和 重复登录问题! 我是菜鸟 请教各位!

yueaiyun314 2010-07-19 11:00:29
举个例子 :https://forum.csdn.net/PointForum/Forum/TopicList.aspx?Alias=Java_WebDevelop&ListType=UnClosedList&page=2

在做论坛留言的翻页时 每翻一页 Id值就会加1

但是我自己测试时 故意把Id改的很大 超出页数范围!它就报错 怎么办?、

请教高手解决 这个问题!





问题二

在做账号登录时 自己测试发现登录两个同样的账号 也可以! 这是不合理的 如何解决这个bug呢?
...全文
83 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
床上等您 2010-07-20
[Quote=引用 6 楼 cheng20100915 的回复:]

引用 5 楼 yangball 的回复:
引用 4 楼 miaojihao 的回复:

引用 3 楼 yueaiyun314 的回复:

谢谢了! 谁还知道第二个问题啊?

登录之后将用户名保存到session里面,这样每次登录之前检查session是否存在该用户,如果存在就提示改用户已经登录...

session是单用户的?记录了又乍样??

应该记录在 db 里。
……
[/Quote]
你用这种方法实现过吗??
你试试吧?
这个是单点登陆。不是你想像中的简单。
回复
greenoldman 2010-07-20
在线状态判断了吗? 可以考虑建立个临时表管理!
回复
fenggu_xt 2010-07-20
在做账号登录时 自己测试发现登录两个同样的账号 也可以! 这是不合理的 如何解决这个bug呢?



$_server['php_remoteaddr']限定ip地址
回复
woshiguozhongbin 2010-07-20
第二个问题 可以找找 单点登录
回复
cheng20100915 2010-07-20
[Quote=引用 5 楼 yangball 的回复:]
引用 4 楼 miaojihao 的回复:

引用 3 楼 yueaiyun314 的回复:

谢谢了! 谁还知道第二个问题啊?

登录之后将用户名保存到session里面,这样每次登录之前检查session是否存在该用户,如果存在就提示改用户已经登录...

session是单用户的?记录了又乍样??

应该记录在 db 里。
不过这样要处理一些特发事件。
这个问题比较难……
[/Quote]
如果按你说的记录在DB里,那要是用户下线了,那不就还要在记录一次下线信息吗.
session是保存在服务器端的,只要你服务器打开了,就可以判断,不用写在DB里,你用自己的机器打开一个网页不要关闭,然后登录其他用户进入网页就可以看到,每个用户只能有一位在线,等下线后才能用用相同的登录
用session保存用户登录信息,下线后销毁此用户session.
就可以避免楼主的问题.
具体操作:

用户对象包含:用户名,密码(封装就不说了)
if( (用户类型转换)session["myuser"]==null){
返回登录页面,并提示该用户已存在}
if(登录成功){
session["myuser"]=用户对象;
}else{
.....
}

回复
床上等您 2010-07-20
[Quote=引用 4 楼 miaojihao 的回复:]

引用 3 楼 yueaiyun314 的回复:

谢谢了! 谁还知道第二个问题啊?

登录之后将用户名保存到session里面,这样每次登录之前检查session是否存在该用户,如果存在就提示改用户已经登录...
[/Quote]
session是单用户的?记录了又乍样??

应该记录在 db 里。
不过这样要处理一些特发事件。
这个问题比较难处理。
回复
美人心计1999 2010-07-20
[Quote=引用 3 楼 yueaiyun314 的回复:]

谢谢了! 谁还知道第二个问题啊?
[/Quote]
登录之后将用户名保存到session里面,这样每次登录之前检查session是否存在该用户,如果存在就提示改用户已经登录...
回复
麻雀 2010-07-20
第二个问题,建议百度“单点登陆”,不是$_session就能解决的
回复
营销QQ教练 2010-07-19
谢谢了! 谁还知道第二个问题啊?
回复
woshiguozhongbin 2010-07-19
第二个问题 有难度...
不好处理...
回复
woshiguozhongbin 2010-07-19
你根据page 来查询的时候判断
$page=isset($_GET['page'])?intval($_G['page']):'';
$result=mysql_query("select * form table limit ..");

if(mysql_num_rows($result)>0)
{
//执行循环
}else
{
echo "没有该页数";
}
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告