主題: 整合一个外部登录和plog登录遇到的问题 作者: ffsword 於 十月 30, 2005, 10:52:21 下午 根据论坛中大家讨论的方法,写的外部登录程序如下:
<?php define('PLOG_CLASS_PATH','../../web/plog/'); include_once( PLOG_CLASS_PATH."class/controller/admincontroller.class.php" ); include_once( PLOG_CLASS_PATH."class/net/http/session/sessionmanager.class.php" ); include_once( PLOG_CLASS_PATH."class/dao/userinfo.class.php" ); include_once( PLOG_CLASS_PATH."class/dao/bloginfo.class.php" ); $userName = $_REQUEST["user_name"]; $userPassword = $_REQUEST["password"]; // initialize the session SessionManager::init(); // 產生一個新的 user 物件 $users = new Users(); if( $users->authenticateUser( $userName, $userPassword )) { // 取得 userInfo 物件 (透過正確的 username 與 password) $userInfo = $users->getUserInfo( $userName, $userPassword ); // 取得使用者的 blog list $userBlogs = $users->getUsersBlogs( $userInfo->getId(), BLOG_STATUS_ACTIVE ); // 用第一個 blog 來當作 blogID,並取得這個 blog ID 的 blogInfo $blogInfo = end( $userBlogs ); // 取得 session //print_r($session = HttpVars::getSession()); $session = HttpVars::getSession(); $sessionInfo = $session["SessionInfo"]; // 並且把資料寫入session $sessionInfo->setValue( "userInfo", $userInfo ); $sessionInfo->setValue( "blogInfo", $blogInfo ); $session["SessionInfo"] = $sessionInfo; HttpVars::setSession( $session ); echo "<script language='Javascript'>"; echo "location.href='../../web/plog/login.php';"; echo "</script>"; //header("location: ../../web/plog/login.php"); }else{ echo "用户名或密码有误!重新<a href='javascript:window.history.back()'>登录</a>"; } ?> 从这个文件跳到plog的admin.php,出现的还是登录页面。在admin.php中print_r($_SESSION); ,发现数组值为空。 请问这是咋回事? 主題: Re: 整合一个外部登录和plog登录遇到的问题 作者: ffsword 於 十月 31, 2005, 10:43:34 上午 登录的问题在NBA23的帮助下得到解决,是由于外部登录页和plog中admin.php不在同一目录下原因。或者把外部登录页置于站点根目录也可以。
BTW:为什么会由于目录不同出现前面这问题? 主題: Re: 整合一个外部登录和plog登录遇到的问题 作者: oneself 於 三月 01, 2006, 01:08:01 下午 怎么解决的呢?为什么一定要在和 admin.php 同一目录中呢?
主題: Re: 整合一个外部登录和plog登录遇到的问题 作者: shothsu 於 三月 13, 2006, 01:55:26 下午 我也遇到同樣的問題...
請問要怎麼解決呢?? 主題: Re: 整合一个外部登录和plog登录遇到的问题 作者: pcm 於 十一月 10, 2006, 11:07:42 上午 我照著你這麼做了~~但得出的報告是
Fatal error: Call to a member function error() on a non-object in c:\AppServ\www\blog\class\cache\Cache_Lite\Lite.php on line 724 還差了什麼呢? |