我一直在网上搜索我的问题的答案,但我似乎就是找不到一个答案,即使它可能很简单。
我有一个joomla模块,可以让用户注册时事通讯,当单击submit按钮时,我会导航到submitsignup.php文件。我使用表单操作值执行此操作,如下所示:
form action="modules/mod_cmsnewslettersignup/otherfiles/submitsignup.php" method="post" id="subForm" 在这个submitsignup.php文件中,我不能访问任何joomla类,例如:
$db = JFactory::getDBO(); 我知道我不能访问任何joomla类,因为我直接访问了submitsignup.php文件,但我想知道如何访问这个文件才能访问所有Joomla类?
谢谢。
发布于 2011-01-25 21:13:23
如果您在提交表单时重新加载页面,那么有一个简单的解决方案可以解决使用直接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中找到的内容。您可以添加一些简单的安全性来确保表单是从您的站点提交的。
https://stackoverflow.com/questions/4789044
复制相似问题