Php 乔姆拉!组件K2-将表单数据存储到数据库

Php 乔姆拉!组件K2-将表单数据存储到数据库,php,mysql,joomla,joomla-k2,Php,Mysql,Joomla,Joomla K2,我已经为k2项目创建了自定义数组表单 <div id="dynamicInput"> Datum 1<br><input type="text" name="dates[]"> </div> <input type="button" value="dodaj" onClick="addInput('dynamicInput');"> *这是在:/administrator/components/com_k2/models/item.p

我已经为k2项目创建了自定义数组表单

<div id="dynamicInput">
Datum 1<br><input type="text" name="dates[]">
</div>
<input type="button" value="dodaj" onClick="addInput('dynamicInput');">
*这是在:/administrator/components/com_k2/models/item.php*

$dates=JRequest::getVar('dates',NULL,'POST','array')

如果它表示NULL,则应为默认值

您的查询应该等待操作,看起来它是在项目视图上执行的

您需要将代码放在函数中

function preuzmiDatum(){

$dates = array();
$dates = JRequest::getVar('dates','default value','post');
foreach ($dates as $key=>$value) {
$object = new JObject;
$object->set('datum', $value);
unset($object->_errors);
$datumi[] = $object;
}
$query = "INSERT INTO #__k2_items (`dates`) VALUES (NULL, $datumi)";
$db->setQuery($query);
$db->query(); 


}

在models/item.php中,并在表单action上调用该函数

在我看来,这个主题有点封闭,但我想知道是否有解决该问题的方法

我也有类似的问题。我发现问题在于k2组件没有看到提交的值

为了确定这一点,我使用了GET方法,这样我就可以在address行中看到提交的值。不过我也放了一个

echo$_服务器['REQUEST_URI']

php中的第行,但只回显了令人沮丧的基本uri。我在浏览器的地址行中看到domain.com/article_title?mysubmittedvalue=value&etc, 页面上只有domain.com/article\u标题

当然,表单是可以的,因为在地址行中可以找到提交的值。问题出在k2组件的某个地方

还尝试使用以下代码:

哪一种是获得完整URI的合适的joomla方法

不,我只是在Database中得到NULL,我只尝试了一个值,但得到了相同的结果(NULL)。在joomla中,我在按save时得到了重新定向。有没有可能我没有在“post”上从表单到php获取数据?我想看看
echo$query
显示了什么。我仍然无法实现这一点。我遇到了致命错误:调用未定义的函数preuzmiDatum()。。我把函数放在文件中,在case save时调用它。。。我越来越沮丧。。有人能帮我做这件事吗:)?我把代码放在joomla k2组件的错误位置了吗,这样代码可能无法从表单中获取数据?我已经设法在数据库中放了一个值,但我需要数组方面的帮助。。下面是一个值的工作代码:$dates=JRequest::getVar('dates',NULL,'POST');如果(isset($dates)){$datumi=new JObject;$datumi->set('datum',$dates);}$query=“插入##(日期)值($datumi)”$db->setQuery($query)$db->query();你删除了空参数,就像我告诉你的。美好的是的,我通过将整个想法转移到另一个平台解决了这个问题。所以我用MODX创建了这个网站——它让我在设计和代码方面有更多的自由…:)
function preuzmiDatum(){

$dates = array();
$dates = JRequest::getVar('dates','default value','post');
foreach ($dates as $key=>$value) {
$object = new JObject;
$object->set('datum', $value);
unset($object->_errors);
$datumi[] = $object;
}
$query = "INSERT INTO #__k2_items (`dates`) VALUES (NULL, $datumi)";
$db->setQuery($query);
$db->query(); 


}
JURI::getInstance()->toString();