我一直在网上寻找我的问题的答案,但我似乎无法找到一个,即使它可能很简单。
我有一个joomla模块,用户注册时事通讯,单击提交按钮时,我导航到submitsignup.php文件。我这样做是使用表单操作值,如下所示:
form action="modules/mod_cmsnewslettersignup/otherfiles/submitsignup.php" method="post" id="subForm"
在这个submitsignup.php文件中,我无法访问任何joomla类,例如:
$db = JFactory::getDBO();
我知道我无法访问任何joomla类,因为我直接访问了submitsignup.php文件,但我想知道如何访问此文件以便我可以访问所有Joomla类?
感谢。
答案 0 :(得分:0)
如果您在提交表单时正在重新加载页面,那么有一个简单的解决方案可以解决使用直接URL和在该文件中加载Joomla框架的问题。基本上将模块代码更改为类似的内容 -
if ($_POST["formsubmitted"]){
the code you run when the form is submitted
echo success or failure message
} else {
the code you run to display the form
<form action="<?php echo JURI::current(); ?>" method="post">
<input type="hidden" value="true" name="formsubmitted">
}
基本上,您将表单提交到显示它的页面。然后在您的模块中添加一个钩子来处理提交的表单或显示表单,具体取决于您在$ _POST中找到的内容。您可以添加一些简单的安全性,以确保从您的网站提交表单。