2017-10-19 54 views
0

我有一个控制器,显示一个页面取决于用户在最初注册站点时是否已注册了某些内容。PHP:通过在另一个控制器中调用控制器来显示页面

如果他们的组织已经注册,该页面显示他们可以编辑的个人资料等。(该位工作正常) 但是,如果他们没有该网页应该显示注册页面,他们可以注册

我做这个使用:

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

用户有免费基本包的选择,或溢价/保费加上包,它会要求用户被重定向到支付页面。我的问题是,虽然这确实显示了注册页面,但它只是在他们选择“高级”或“高级加值”并且未显示付款页面时注册组织。

我知道最好从配置文件页面扩展组织注册页面以使其能够使用该功能;然而,由于组织档案页面主要是为了显示一个档案,我有它扩展自己的控制器(从我的回忆中,你不能扩展两个班级),并使用注册组织控制器来显示表格。

我见过的方式来重定向页面中javascriptangularJSasp.net/C#但到目前为止,他们都没有工作适合PHP

我想设置页眉时:

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

但这将无法工作,因为路径是子路径(注册/组织),如果用户已登录且组织配置文件具有自己的路径名称(组织配置文件),则无法查看“注册”。

TL; DR:它有没有办法通过调用一个控制器,这是否从另一个控制器,仍然有功能显示页面,尽管有不同的路径

任何帮助将肯定可以理解的, 在此先感谢!

回答

0

好的,所以我想到了我在做注册流程时做错了什么。 我的想法是好的,但执行是可怕的,所以我想我会分享以防万一有人是有一个类似的问题(尽管这可能是统计学上不可能的)解决方案

的问题

注册过程允许用户在最初注册该网站时或者在他们注册并验证其帐户后注册组织。 如果用户登录,则注册页面不应该可查看;但是,组织注册页面源于此页面,由于路径不同,导致冲突。

解决方案

  • 改变组织轮廓控制器重定向到组织注册页面,而不是调用登记控制器。

  • 变更登记控制器来显示页面,即使用户登录到保持注册流程

  • 在去()函数检查页面的子路径,如果它是“注册”,运行未经身份验证的功能以确保登录表单在登录时不会显示。这将允许您遵循组织的注册流程,但不会显示注册页面。

希望这可以帮助任何人有与他们的注册流程类似的问题!

相关问题