Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 在joomla中传递形式值_Forms_Joomla - Fatal编程技术网

Forms 在joomla中传递形式值

Forms 在joomla中传递形式值,forms,joomla,Forms,Joomla,我想升级我的joomla 2.5插件之一(自行开发)。这是一项复杂的任务,但这里有一个我无法解决的具体问题。我想在我的文章(完成)上放一个带有提交按钮的输入字段,提交后我想得到它。这么简单 以下是代码的概要: 表格: <form action="" method="post"> <input type="text" name="info"> <input type="submit" value="ok"> </form&g

我想升级我的joomla 2.5插件之一(自行开发)。这是一项复杂的任务,但这里有一个我无法解决的具体问题。我想在我的文章(完成)上放一个带有提交按钮的输入字段,提交后我想得到它。这么简单

以下是代码的概要:

表格:

    <form action="" method="post">
    <input type="text" name="info">
    <input type="submit" value="ok">
    </form>
基本上它应该可以工作,但不知何故我没有得到值,总是收到默认值“444”。如果我将操作更改为一个外部php文件,并以php方式进行处理,它就会工作

到目前为止我检查的内容:

a。更改表单方法以获取。结果:所需的值正确显示在文章的URL中,但仍然打印默认值“444”,而不是我在URL中看到的值(如果未设置默认值,则不会打印任何内容)

b。将该值传递到外部.php文件,存储在会话中,并在文章中回显会话值,但再次为空

也许我会通过分解$\u服务器[“REQUEST\u URI”]来强制获取get值,但在发现所需进程可能出现的问题之前,我无法入睡

有人能帮忙吗


更新:可能很重要-我使用K2插件。

到目前为止,我可以得出以下结论:

这是一个特例。在我的本地服务器上,代码在正常的joomla文章和K2组件文章中都可以正常工作

在我的网站上,代码也可以与正常的joomla文章配合使用,因此这是一个K2设置问题

问题可能与K2高级SEF设置(指定K2项目的url)有关,但事实并非如此。问题出在我的网站上,因此我在本地主机版本上使用了网站版本的SEF设置,并且我很好地接收到了这些值。==不是K2高级SEF设置问题

这就是我问题的答案:“应该找出是哪个K2设置导致了问题”


更新。解决方案:在全局配置时关闭缓存,这样页面就不会从缓存加载。缓存中没有存储任何给定的值-很明显。

很有趣。你能
print\r($jinput)
或者甚至
JFactory::getApplication()->input->post
并检查那里的值吗?我怀疑这与触发插件的事件的时间有关。也许输入或输出是在插件部署后请求的,或者其他什么…你能检查一下$\u POST['info']是否有效吗?触发器是onk2beforedish。我尝试了onK2PrepareContent,但没有任何结果。Dmitry:该值为空。在我的本地主机上,当根不以斜杠结尾并且使用了.htaccess重写规则时,我不会收到任何POST数据:
http://localhost/projects/test
。除了
信息
,你试过使用其他键吗?谢谢piotr_cz的评论,我也试过使用其他键-没有效果。关于.htaccess的事情:我不认为这取决于.htaccess文件,因为我也将代码放在content.php中(以检查我的代码是否在正规的joomla文章上工作),并且它工作正常。因此,这是一个针对K2的防御问题,K2是否会覆盖
JInput
值?那么
$\u POST
JRequest::getVar('info')
呢。我确信K2正在覆盖JInput值,但是在哪里呢?越来越沮丧:)
$\u POST
JRequest::getVar()
也是空的问题必须在组件部分和模板部分之间。如果我将
echo JURI::getInstance()->toString()在组件库中逐行文件,它返回整个值。当我对模板文件执行此操作时,它只返回核心URI。妈的,不是吗?
    $jinput = JFactory::getApplication()->input;
    $foo = $jinput->get('info', '444'); 
    print_r($foo);