[問題] Redirect在login後導錯的問題???

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
頭像
machette
星球公民
星球公民
文章: 47
註冊時間: 2003-10-31 20:44
來自: Hell
聯繫:

[問題] Redirect在login後導錯的問題???

文章 machette »

滿奇怪的問題, 不知有沒有人遇到\r
還是我裝top5時去改到redirect頁面改錯了???
以下是我實際測的過程, 當然t=110那個文章是存在的喔
===========================================
例如說我傳給一個人以下的連結, 而那個文章是在須要註冊會員才能看的
http://checkme.adsldns.org/viewtopic.php?t=110

我還沒登入, 然後我去點它就會跳到login的頁面, 這沒問題
這時上面的連結現在是顯示著
http://checkme.adsldns.org/login.php?re ... =0&start=0

而 "用login的頁面" 登入後
變成會顯示 您所查看的主題或文章不存在
這時上面的連結現在是顯示著
http://checkme.adsldns.org/viewtopic.ph ... eac43d1372
===========================================

這樣的問題是哪個php檔沒有redirect好呢???
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

Re: [問題] Redirect在login後導錯的問題???

文章 messagebox »

machette 寫:滿奇怪的問題, 不知有沒有人遇到\r
還是我裝top5時去改到redirect頁面改錯了???
以下是我實際測的過程, 當然t=110那個文章是存在的喔
===========================================
例如說我傳給一個人以下的連結, 而那個文章是在須要註冊會員才能看的
http://checkme.adsldns.org/viewtopic.php?t=110

我還沒登入, 然後我去點它就會跳到login的頁面, 這沒問題
這時上面的連結現在是顯示著
http://checkme.adsldns.org/login.php?re ... =0&start=0
↑這裡錯了~p不可能是0
以你給的資料應該為\r
redirect=viewtopic.php&t=110


而 "用login的頁面" 登入後
變成會顯示 您所查看的主題或文章不存在
這時上面的連結現在是顯示著
http://checkme.adsldns.org/viewtopic.ph ... eac43d1372
===========================================

這樣的問題是哪個php檔沒有redirect好呢???
mit
星球公民
星球公民
文章: 247
註冊時間: 2003-10-23 18:26
來自: 壞鄰居社區
聯繫:

文章 mit »

這個問題我也遇過~
我覺得很奇怪,也不知道是不是我動過什麼地方導致的。
總之在欲觀看文章時重新導向之後
會出現post_id是0的狀況。
但post_id應該是不需要的吧~重要的應該是topic_id才對啊!

原始viewtopic.php的這段:

代碼: 選擇全部

if( !$is_auth['auth_view'] || !$is_auth['auth_read'] )
{
	if ( !$userdata['session_logged_in'] )
	{
		$redirect = ( isset($post_id) ) ? POST_POST_URL . "=$post_id" : POST_TOPIC_URL . "=$topic_id";
		$redirect .= ( isset($start) ) ? "&start=$start" : '';
		redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx&$redirect", true));
	}
把裡面的

代碼: 選擇全部

$redirect = ( isset($post_id) ) ? POST_POST_URL . "=$post_id" : POST_TOPIC_URL . "=$topic_id";
改成

代碼: 選擇全部

$redirect = ( isset($post_id) && $post_id != 0 ) ? POST_POST_URL . "=$post_id" : POST_TOPIC_URL . "=$topic_id";
p.s我是直接乾脆改成:

代碼: 選擇全部

$redirect = ( isset($topic_id) ) ? POST_TOPIC_URL . "=$topic_id" :'';
圖檔
頭像
machette
星球公民
星球公民
文章: 47
註冊時間: 2003-10-31 20:44
來自: Hell
聯繫:

Re: [問題] Redirect在login後導錯的問題???

文章 machette »

剛去試了別人的站, 也發生這樣的問題說\r
http://www.burning-g.com/ http://www.tw-go-cn.com/ 都會有這個問題
其它也許大家也可以試看看自己的

而且包括去看top5裡的文章, 如果文章在須要login的板, 也是一樣的情形\r

這應該是phpBB的一個現存的bug吧??
mit
星球公民
星球公民
文章: 247
註冊時間: 2003-10-23 18:26
來自: 壞鄰居社區
聯繫:

文章 mit »

machette 寫:剛去試了別人的站, 也發生這樣的問題說
http://www.burning-g.com/ http://www.tw-go-cn.com/ 都會有這個問題
其它也許大家也可以試看看自己的

而且包括去看top5裡的文章, 如果文章在須要login的板, 也是一樣的情形

這應該是phpBB的一個現存的bug吧??
這是你說的不是我說的 :-o

其實這不是phpbb本身的bug,
只不過那些mod(如top5)跟phpbb本身的設計有點「衝」到罷了。

phpbb本來就設計成一篇topic的連結不能獨立於該topic所在的版面之外。
亦即如果你想從外面連結一篇topic(top5 mod就類似這種企圖)
如果設定成註冊會員才能看,那登入之後redirect就會出錯了。
(因為phpbb根本沒有預設這種情形會發生)

同樣的情形下,
如果你用了版面參觀mod(可以讓所有會員進入版面瀏覽文章標題但不能進一步閱讀文章)
一樣會出錯。
因為phpbb本來就設計成能「進入版面(viewforum)的人就能觀看文章(viewtopic)」,
不能進入版面的人甚至不能「看見」版面,自然連文章都不能看才對。
但是版面參觀模式多弄出一種「能進入版面但是不能觀看文章」的規則,
這不能怪phpbb吧~
圖檔
主題已鎖定

回到「phpBB 2 安裝與使用」