我想在现有的php页面中包含CodeIgniter注释表单。目前我将评论表格包含在
中$_SERVER["REQUEST_URI"] = "comment/index2/".$page;
require_once($directoryLevelPrefix . "staff/codeigniter/index.php");
然而,当codeigniter加载视图以显示表单的结果时,我丢失了包含表单的原始php页面上的内容。我已经尝试在将表单数据添加到数据库之后添加重定向,以重定向到我原来的php页面,例如。
redirect($_POST['return'])
但是我想传递一些变量,例如“谢谢你的评论”,这会导致标题已经发送错误。
替代方案可能是使用ajax,但我希望在提交评论时刷新整个页面。
答案 0 :(得分:0)
这是因为CodeIgniter是一个旨在处理显示整个网页的框架。你不能只包括它,因为它试图发送新的标题和所有内容。
两种解决方案:
您可以将codeigniter页面加载为主页面,只需将原始的PHP代码包含在视图文件中即可。这取决于原始php文件的设置方式。
您可以使用cURL从您自己的服务器调用页面,将html输出作为字符串,然后将其回显到当前页面。但这不是很有效。
正如C. Scott Asbach所说,你可以在iframe中加载整个页面。可能不是一个好主意,据我所知,iframe已被弃用,并且会造成凌乱的网站。
可能最好只是尝试避免使用CodeIgniter在现有页面中显示子表单: - )
答案 1 :(得分:0)
我有类似的需求,我只是在iframe中加载CodeIgniter表单。这是在WordPress页面上放置一个联系表单。我使用了iframe,因为我的需求仅限于这一种形式,我觉得它不需要尝试以任何方式集成CodeIgniter和WordPress。
此方法的一个Pro是表单可以提交并加载确认页面,错误页面,甚至是多页表单,所有导航都在iframe内部进行,因此您永远不会离开您的页面在使用表单时打开。另一个Pro是表格完全便携。
缺点当然是你可能不喜欢使用任何基于你的需求和喜好的iframes。