LifeType 中文開發論壇

開發 => 外掛程式 => 主題作者是: ffsword 於 十月 30, 2005, 10:52:21 下午



主題: 整合一个外部登录和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

還差了什麼呢?