[原创]登陆用的源码 |
这部分代码是让大家看看cookie和session在有会员的程序注册或登录的程序中如何使用。希望大家有用!!
session_start();
if(isset($HTTP_COOKIE_VARS['PHPSESSID'])) //如果有cookie变量PHPSESSIN
{
session_id($HTTP_COOKIE_VARS['PHPSESSID']); //取出PHPSESSID(就是session id),和服务器上对应的session建立连接
$PHPSESSID=$HTTP_COOKIE_VARS['PHPSESSID'];
}
else $PHPSESSID=session_id(); //如果没有就重新生产一个新的session id
setcookie('PHPSESSID',$PHPSESSID,time()+3600*2400,$cookie_path); //设cookie,保存session id
if($HTTP_GET_VARS['islogout']!=1 && isset($HTTP_POST_VARS['name'])) //如果用户没有注销,并且存在由表单提交过来的用户名
{
$HTTP_SESSION_VARS['account']='guest'; //先把session变量account,也就是当前已经登录的用户名冲掉(这点我现在觉得不好),变成guest
$HTTP_SESSION_VARS['isadm']=0; //也是清掉,isadm是我这个程序表示是否为管理员的变量
$HTTP_SESSION_VARS['style']=$HTTP_GET_VARS['style']; //style是我的程序中表示当前用户的样式,也就是模板
$query='select * from ka_account where account="'.$HTTP_POST_VARS['name'].'";';
$result=mysql_query($query); //从数据库中取出该用户名的密码等信息
if(mysql_num_rows($result)==1) //如果找到一个匹配的
{
$rec=mysql_fetch_object($result);
if($rec->banned!=1){ //如果用户没有被禁止
if(encrypt($HTTP_POST_VARS['passwd'])==$rec->passwd) //如果密码匹配,encrypt是我的加密函数,我使用了默认的md5
{
$HTTP_SESSION_VARS['account']=$rec->account; //设当session变量account为这个用户
$HTTP_SESSION_VARS['isadm']=$rec->isadm; //类似上面
$err="已登录";
}
else $err="密码错误";
}
else $err="账号被禁止";
}
else $err="账号不存在";
}
if($HTTP_GET_VARS['islogout']==1) //如果用户在注销,就把所有的session变量设置成guest的
{
$HTTP_SESSION_VARS['account']='guest';
$HTTP_SESSION_VARS['isadm']=0;
$HTTP_SESSION_VARS['style']='default';
}
echo $err; 显示出错信息
这段代码里有个不好的地方,我还没 |
|
|