2017-10-19 73 views
0

我有一個控制器,顯示一個頁面取決於用戶在最初註冊站點時是否已註冊了某些內容。PHP:通過在另一個控制器中調用控制器來顯示頁面

如果他們的組織已經註冊,該頁面顯示他們可以編輯的個人資料等。(該位工作正常) 但是,如果他們沒有該網頁應該顯示註冊頁面,他們可以註冊

我做這個使用:

$this->call('\Controllers\RegisterOrgController'); 

用戶有免費基本包的選擇,或溢價/保費加上包,它會要求用戶被重定向到支付頁面。我的問題是,雖然這確實顯示了註冊頁面,但它只是在他們選擇「高級」或「高級加值」並且未顯示付款頁面時註冊組織。

我知道最好從配置文件頁面擴展組織註冊頁面以使其能夠使用該功能;然而,由於組織檔案頁面主要是爲了顯示一個檔案,我有它擴展自己的控制器(從我的回憶中,你不能擴展兩個班級),並使用註冊組織控制器來顯示錶格。

我見過的方式來重定向頁面中javascriptangularJSasp.net/C#但到目前爲止,他們都沒有工作適合PHP

我想設置頁眉時:

header('location: ' . [function to get URL for new location]); 

但這將無法工作,因爲路徑是子路徑(註冊/組織),如果用戶已登錄且組織配置文件具有自己的路徑名稱(組織配置文件),則無法查看「註冊」。

TL; DR:它有沒有辦法通過調用一個控制器,這是否從另一個控制器,仍然有功能顯示頁面,儘管有不同的路徑

任何幫助將肯定可以理解的, 在此先感謝!

回答

0

好的,所以我想到了我在做註冊流程時做錯了什麼。 我的想法是好的,但執行是可怕的,所以我想我會分享以防萬一有人是有一個類似的問題(儘管這可能是統計學上不可能的)解決方案

的問題

註冊過程允許用戶在最初註冊該網站時或者在他們註冊並驗證其帳戶後註冊組織。 如果用戶登錄,則註冊頁面不應該可查看;但是,組織註冊頁面源於此頁面,由於路徑不同,導致衝突。

解決方案

  • 改變組織輪廓控制器重定向到組織註冊頁面,而不是調用登記控制器。

  • 變更登記控制器來顯示頁面,即使用戶登錄到保持註冊流程

  • 在去()函數檢查頁面的子路徑,如果它是「註冊」,運行未經身份驗證的功能以確保登錄表單在登錄時不會顯示。這將允許您遵循組織的註冊流程,但不會顯示註冊頁面。

希望這可以幫助任何人有與他們的註冊流程類似的問題!

相關問題