2012-03-16 74 views
0

我有几个模块,但我会专注于其中一个。这个模块工作正常,它出现在两篇文章中。一篇文章可以向注册用户查看,另一篇文章则可以向公众查看。正确的SQL查询在Joomla文章中给出不同的结果

我从这两篇文章中查询我的数据库。但是,在公共文章中,模块完成了应有的功能,但在注册文章中却没有。

之前发布的代码和例子,有什么明显的是我错过,我可以努力克服这一点?

编辑

下面是调试模式的结果:

工作的文章:

SELECT name, specialty, location 
    FROM people 
    WHERE name = 'larry' OR specialty = 'testing' OR location = 'seattle' 

不工作的文章:

SELECT name, specialty, location 
    FROM people 
    WHERE name = '' OR specialty = '' OR location = '' 

同样的查询应该是在这两种情况下工作,是这样的:

SELECT name, specialty, location, description 
    FROM people 
    WHERE name = '$name' OR specialty = '$specialty' OR location = '$location' 

其中这些变量POST数据,例如,$name = cleaned_up($_POST['name']);

所以基本上形式不发布数据的查询,但在“客人”用户版本确实的“注册”用户版本。

EDIT 2

我发现,当我删除我的页面左侧的模块(我在div的两个模块,并排,这一比例POST变量 - 这也许是部分我的问题),不起作用的表单开始正常工作。

所以我建立了一个相同的模块,想如果我把这种形式出来,给了代码到另一个模块,将工作,但它给了与上述相同的结果。

任何帮助是极大的赞赏。

编辑3

我在几个地方扔在那里var_dump($_POST);,一次一个,这得到所需要的POST数据。所以现在我非常困惑,因为SQL查询是正确的,POST数据正在到达需要它们的文件。

+0

只看了看你的旗帜,但还是有点不确定。你能不能再让我知道,在这里,你想要我怎么处理这个问题? – BoltClock 2012-03-25 17:17:07

回答

0

我发现一个解决方案似乎解决了我的问题。最初的奇怪问题仍然存在,但这个解决方案让我的网站工作,并给我一些继续。

我创建为每个访问状态的独立变量文件,已注册和公开。显然,在注册状态下,变量发生冲突,POST数据没有进入SQL查询,因此没有显示在我的结果表中。

我认为这可能是Joomla中的一个错误,但我希望在报告之前获得其他人的反馈。但是......我几周前在forum.joomla.org上发帖,没有回复,所以我对这个支持网站一点信心也没有。事实上,如果这与他们的支持论坛一样好,那么我想我可能会考虑另一个CMS。

2

虽然问题有点模糊不具体,我建议打开在调试的Joomla分析。如果你打开它,你将能够看到模块正在执行的确切的SQL查询。找到您的模块使用的查询,通过phpMyAdmin或MySQL Workbench运行它们,并确保您获得预期的结果。

如果问题不是SQL相关的,那么你可能需要提供更具体的例子。

+0

我对模糊性表示歉意......只是涉及的代码相当多,如果有任何明显的错误,这些首先会很好地学习。您的建议很有帮助,但我对调试模式并不完全熟悉。但我会在原帖中发布结果 - 谢谢! – nicorellius 2012-03-16 05:11:02

+0

我知道查询的工作原理,因为它在访客模式下给出了正确的结果。我也在phpMydmin中运行了它,它创造了我想要的记录。我认为我的POST数据遇到了问题。 – nicorellius 2012-03-18 03:24:00