歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 01, 2024, 06:43:42 上午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  開發  |  外掛程式  |  整合一个外部登录和plog登录遇到的问题 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 整合一个外部登录和plog登录遇到的问题  (閱讀 11872 次)
ffsword
新手見習
*
文章: 14


檢視個人資料
« 於: 十月 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); ,发现数组值为空。

请问这是咋回事?
已記錄
ffsword
新手見習
*
文章: 14


檢視個人資料
« 回覆文章 #1 於: 十月 31, 2005, 10:43:34 上午 »

登录的问题在NBA23的帮助下得到解决,是由于外部登录页和plog中admin.php不在同一目录下原因。或者把外部登录页置于站点根目录也可以。

BTW:为什么会由于目录不同出现前面这问题?
已記錄
oneself
新手見習
*
文章: 1


檢視個人資料
« 回覆文章 #2 於: 三月 01, 2006, 01:08:01 下午 »

怎么解决的呢?为什么一定要在和 admin.php 同一目录中呢?
已記錄
shothsu
新手見習
*
文章: 1


檢視個人資料
« 回覆文章 #3 於: 三月 13, 2006, 01:55:26 下午 »

我也遇到同樣的問題...
請問要怎麼解決呢??
已記錄
pcm
新手見習
*
文章: 12


檢視個人資料
« 回覆文章 #4 於: 十一月 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


還差了什麼呢?
已記錄
頁: [1]
LifeType 中文開發論壇  |  開發  |  外掛程式  |  整合一个外部登录和plog登录遇到的问题 « 上篇主題 下篇主題 »
    前往: