首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joomla模块提交表单无法访问数据库

问Joomla模块提交表单无法访问数据库
EN

Stack Overflow用户
提问于 2011-01-25 09:12:46
回答 1查看 1.3K关注 0票数 0

我一直在网上搜索我的问题的答案,但我似乎就是找不到一个答案,即使它可能很简单。

我有一个joomla模块,可以让用户注册时事通讯,当单击submit按钮时,我会导航到submitsignup.php文件。我使用表单操作值执行此操作,如下所示:

代码语言:javascript
复制
form action="modules/mod_cmsnewslettersignup/otherfiles/submitsignup.php" method="post" id="subForm"  

在这个submitsignup.php文件中,我不能访问任何joomla类,例如:

代码语言:javascript
复制
$db = JFactory::getDBO();  

我知道我不能访问任何joomla类,因为我直接访问了submitsignup.php文件,但我想知道如何访问这个文件才能访问所有Joomla类?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-25 21:13:23

如果您在提交表单时重新加载页面,那么有一个简单的解决方案可以解决使用直接URL和必须在该文件中加载Joomla框架的问题。基本上把你的模块代码改成这样-

代码语言:javascript
复制
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中找到的内容。您可以添加一些简单的安全性来确保表单是从您的站点提交的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4789044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档