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; 显示出错信息
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}