2013-07-25 64 views
2

我有一個CMS,我正在開發CMS文件夾之外的移動網站。我已經包含CMS文件以使用CMS中的所有功能。重定向出一個目錄

<?php include_once'/home/flyeurov/public_html/core/codon.config.php';?> 

在手機上,我有一個登錄表單。信息使用包含文件中的功能提交回CMS。

<form name="loginform" action="<?php echo url('/login');?>" method="post"> 

在提交時,這將把它帶到site_url/index.php/login。就在窗體的提交按鈕之上,我隱藏了一個重定向輸入,但我希望能夠返回目錄,以查找/移動目錄。

<input type="hidden" name="redir" value="../mobile/crew_center.php" /> 
<input type="hidden" name="action" value="login" /> 
<input class="login-btn" type="submit" name="submit" value="Log In" /> 

這應該重定向它m.site_url/crew_center.php(「M」是/移動目錄的路徑),但它不是重定向像這樣,並拒絕回去:

site_url/index.php/mobile/crew_center.php 

我如何才能正確重定向?我希望我沒有困惑任何人。

+0

讓我直接得到這個結果,你希望重定向到'../ mobile/crew_center.php' _表單提交被處理之後? – federicot

+0

正確。它重定向到CMS上的index.php/profile,但是我想爲移動網站上的用戶顯示不同的頁面。 – user2442178

+0

因此,在處理登錄表單的PHP腳本中,你正在做一個像這樣的重定向:'header('Location:$ _POST ['redir']);'或類似的東西,對吧? – federicot

回答

2

在CMS文件,替換此:

$this->post->redir = str_replace('index.php/', '', $this->post->redir); 
header('Location: '.url('/'.$this->post->redir)); 

有了這個:

if (isset($_POST['mobileVersion'])) { 
    header('Location: ' . $_SERVER['DOCUMENT_ROOT'] . '/crew_center.php'); 
} else { 
    $this->post->redir = str_replace('index.php/', '', $this->post->redir); 
    header('Location: '.url('/'.$this->post->redir)); 
} 

而在登錄表單的HTML再添hidden input

<input type="hidden" name="mobileVersion" value="True"> 

這就是隻有這樣才能做到這一點,我能想到的。

+0

我需要這實際上爲CMS的工作,是否有無論如何將它們結合起來?也許使用'Location:$ _SERVER ['DOCUMENT_ROOT']'並使用表單動作填充其餘部分? – user2442178

+0

是的,現在有一種更好的方式來思考它。在您的登錄表單的HTML中,用' redir「value =」<?php echo $ _SERVER ['DOCUMENT_ROOT'];?>/mobile/crew_center.php「/>'。你必須找出移動目錄的位置。 – federicot

+0

它代替了'site_url/index.php // home/flyeurov/public_html/mobile/mobile/crew_center.php' – user2442178