开篇:润墨网以专业的文秘视角,为您筛选了一篇用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
{
?> |注册
帐号: ; ;
密码: 注册