首页 > 范文大全 > 正文

用PHP技术实现门户网站的一站式登陆

开篇:润墨网以专业的文秘视角,为您筛选了一篇用PHP技术实现门户网站的一站式登陆范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要

新闻门户网站的一站式登陆,一直是门户网站困扰并急需解决的问题。一般来讲,门户网站都是一个多系统,多站点的站群系统。新闻门户网站是以新闻系统为前端,新闻系统本身没有自己的用户系统,或者用户系统很薄弱。

【关键词】php disucz Session 表单 cookie 数据库

1 系统功能描述

该系统是单点登陆,是基于cookie,把数据提交到接口中,进行登陆,然后校验信息,信息校验完成后就返回,把用户信息拼成字符串放入cookie中,根据cookie信息进行校验是否登陆。

2 建立通信的接口文件

$request_name = 'username';

$request_password = 'password';

$request_email = 'email';

$user_name = addslashes($_REQUEST[$request_name]);

$password = addslashes($_REQUEST[$request_password]);

#$email = addslashes($_REQUEST[$request_email]);

$action = addslashes($_REQUEST['action']);

if($action == 'login')

{login($user_name,$password);}

else if($action == 'register')

{register($user_name,$password,$email);

else if($action == 'logout')

{uc_logout();

ls

function login($uname,$pwd)

{list($uid, $username, $password) = uc_user_login($uname, $pwd);

// uid 大于0 登录成功,-1 : 用户不存在,或者被删除 -2:密码错误 其他:未定义

if($uid > 0)

{session_start();

//检测cms 用户表

cms_check_user($uname);

//设置同步

$_SESSION['uid'] = $uid;

//$_SESSION['user_name']= iconv("gbk","utf8",$uname);

$_SESSION['user_name'] = $uname;

$_SESSION['username'] = $uname;

//setcookie('onlogin',$uid);

//同步登录

$ucsynlogin = uc_user_synlogin($uid);

echo $ucsynlogin;

showinfo('登录成功');

else

showinfo( '登录失败,请核查用户名和密码的真实性');

function showinfo($msg)

{ $action = 'document.location.href="http://' . getenv('HTTP_REFERER') . '"';

echo '';

if($msg)

{echo 'alert("' . addslashes($msg) . '");';

}

if($action)

{echo $action;}

echo '';

die()

3 在门户首页登陆表单调用接口文件

if($_SESSION['uid']>0)

{

?>

您好,{$_SESSION['username']} ! ; ;个人空间 退出

}

else

{

?> |注册

帐号: ; ;

密码: 注册