社区
基础编程
帖子详情
呵呵,我想写个登陆和注册的程序,呵呵,请教高人啊!
nike_ljq
2002-07-24 10:00:54
呵呵,有回必有分啊!
...全文
76
7
打赏
收藏
呵呵,我想写个登陆和注册的程序,呵呵,请教高人啊!
呵呵,有回必有分啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
webmin
2002-07-24
打赏
举报
回复
自己写一个吧,你学会登陆和注册,其它的也差不多都是对数据库增、修、删、查。
_Shakespeare
2002-07-24
打赏
举报
回复
用cookies或session。但是用cookies,在用户离线再上线后,只要cookies不过
期,不用登录仍然可以保持在线,这对于网吧来说是个隐患。而且用户可以关闭cookies,这样身份验
证就不成功。也考虑过用session,session在浏览过程中不断的将访问信息加入到session中,如果用户
在网站内时间很长,浏览的页面很多,就用导致session越来越大,浏览速度降低,最后只有重新登录,
虽然这种情况不多见,但不是我们所希望的
_Shakespeare
2002-07-24
打赏
举报
回复
在身份验证的同时,记录浏览信息。
用户ID在每个页面间传递,ID值是用MD5()函数加密得到的。验证函数是validate_id(),返回值为
(0,1),成功为“1”。
思路:
判断被传入的ID值是否为匿名登录ID(a684dd572b1887661782981659331eed),32位,如果是返回0,并且
将浏览信息加入数据库。如果否,则查询数据库,看数据库中的用户ID,用户IP与传入的ID,IP值是否相等
并且最近浏览时间距当前时间不到20分钟的记录。
判断得到的记录数,如果为0,则认为离线,并用匿名ID登录浏览信息,返回0。记录不为0时,将
用户ID,用户IP值,加入数据库,返回1。
创建数据库:
create table logging{
id int unsigned not null primary key auto_increment,
user_id char(32) not null,//用户ID
logging_ip varchar(20) not null,//记录用户IP地址
page_name varchar(30) not null,//浏览网页名
view_time timestamp not null,
student_id varchar(20)
);
创建函数:
/*-----begin function validate-id()---------------
验证用户是否登录
------------------------------------------------*/
function validate_id($link,$id,$ip,$page_name,$student_id=""){
if($id==a684dd572b1887661782981659331eed or $id=''){
$query='insert into logging(user_id,logging_ip,page_name,student_id) values ("a684dd572b1887661782981659331eed","'.$ip.'","'.$page_name.'","anonym");';
$result=mysql_db_query("web",$query,$link);
return (0);
}
else {
$year=strftime("%Y");
$month=strftime("%m");
$day=strftime("%d");
$hour=strftime("%H");
$min=strftime("%M");
$sec=strftime("%S");
echo $time_string=$year.$month.$day.$hour.$min.$sec;
// echo ("<br>");
// echo "$year-$month-$day $hour-$min-$sec<br>";
//---------begin if's---------------------------
if(($min-=20)<0){
$min+=60;
if(($hour-=1)==-1){
$hour+=24;
if(($day-=1)==0){
switch ($month) {
case 12 :$days=30;break;
case 1 :$days=31;break;
case 2 :if(($year/4==0)and($year/100!=0)or($year/400==0)){
$days=29;}
else {$days=28;}
break;
case 3 :$days=31;break;
case 4 :$days=30;break;
case 5 :$days=31;break;
case 6 :$days=30;break;
case 7 :$days=31;break;
case 8 :$days=31;break;
case 9 :$days=30;break;
case 10 :$days=31;break;
case 11 :$days=30;break;
}
$day+=$days;
if(($month-=1)==0){
$month+=12;
$year-=1;
}
}
}
}
//----------------------------------end if's
setType($month,"integer");
if($month<10){
setType($month,"string");
$month='0'.$month;}
setType($day,"integer");
if($day<10){
setType($day,"string");
$day='0'.$day;}
setType($hour,"integer");
if($hour<10){
setType($min,"string");
$hour='0'.$hour;}
setType($min,"integer");
if($min<10){
setType($min,"string");
$min='0'.$min;}
echo '<br>'.$time_string=$year.$month.$day.$hour.$min.$sec;
// echo "<br>$year-$month-$day $hour-$min-$sec<br>";
// echo ("<br>");
$query="select id from logging where user_id='$id' and logging_ip='$ip' and view_time>'$time_string';";
$result=mysql_db_query("web",$query,$link);
$count=mysql_num_rows($result);
if($count==0){
// echo $query="insert into logging(user_id,logging_ip,page_name) values ('a684dd572b1887661782981659331eed','$ip','$page_name');";
$result=mysql_db_query("web",$query,$link);
return (0);
}
else{
$query="insert into logging(user_id,logging_ip,page_name) values('$id','$ip','$page_name')";
$result=mysql_db_query("web",$query,$link);
return (1);
}
}//end if
}
LeeMaRS
2002-07-24
打赏
举报
回复
传递sessionid的工作一般不用我们完成,如果实在有问题,也可以显式传递.
wfootboy
2002-07-24
打赏
举报
回复
你们的用户ID都是怎么在各个页面中传递的.cookie or session
wasy
2002-07-24
打赏
举报
回复
这种问题也要问,还编程?
micheas
2002-07-24
打赏
举报
回复
不是问“登陆和注册”吗?怎么楼上两位在讨论“离线在线”?
登陆和注册的程序是很基本的数据库操作,注册也就是把用户数据写到数据库中,而登陆则把用户输入的信息和数据库中的信息进行比对,正确则可以登陆。
怎样把exe
程序
注册
成系统服务
怎样把exe
程序
注册
成系统服务 最近一段时间我们公司开发一款新的产品,要在服务器上运行一个服务端
程序
,为了方便我就希望能将这个
程序
注册
成系统服务开机自动启动而不用每次重启系统都要手动启动
程序
。要实现这个功能要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”。 Ins...
亚马逊云计算
注册
(请
高人
无视)
一晃,N天过去了,好几个朋友问我怎么不写关于亚马逊的东西了,呵呵,不好意思,最近手上的事情比较多,加上家里网速不好,就搁置了。今天上一个
注册
向导吧,让E文不好的朋友们也能用EC2。(友情提示:虽说EC2
注册
是免费的,但是短不了在研究的过程中会误点了一些付费的项目,扣上几毛钱,记得及时把不用的东西关闭就行, 不用慌哦~~)
注册
地址:http://aws.am...
安装
程序
自动
注册
控件到工具箱 vs.net 2005
回想起这几日搞控件的发布的痛苦经历,真的是往事不堪回首,好在现在经
高人
的指点下终于搞掂了,现在把安装过程写出来与大家一起分享,避免后人走与我一样的痛苦历程,要注意的是:绝对不能搬VS.net 2003的老路,我试过是绝对行不通的,我也曾经在这里浪费了不少时间.第一步,在C:/Documents and Settings/user/My Documents/Visual Studio 2005下建一
VID_20260716_195512.mp4
VID_20260716_195512.mp4
stm32单片机项目资料课程设计文档C语言
程序
代码原理图电路PCB实例焊后热处理温控装置
stm32单片机项目资料课程设计文档C语言
程序
代码原理图电路PCB实例焊后热处理温控装置
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章