2012-03-16 71 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