2012-03-16 22 views
0

私はいくつかのモジュールを持っていますが、特に私は1つのモジュールに焦点を当てます。このモジュールは正常に動作していて、2つの記事に表示されています。 1つの記事は登録ユーザーに表示され、他の記事は公開されます。正しいSQLクエリをJoomlaの記事で異なる結果を与える

私はこれらの記事の両方からデータベースを照会しています。しかし、パブリックな記事では、モジュールは想定されていることを行いますが、登録された記事ではそうしません。

コードや例を掲載する前に、私がこれを克服しようとすることができないことが分かりません。ここで

EDIT

は、モードのデバッグの結果は以下のとおりです。

作業する記事:

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 = '' 

同じクエリをする必要があります両方のケースで仕事中であり、これは次のとおりです。これらの変数は、POSTデータ、例えば、$name = cleaned_up($_POST['name']);

ある

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

だから、基本的にフォームの「登録」ユーザーのバージョンは、クエリにデータを投稿できませんが、「ゲスト」ユーザーのバージョンはありません。おそらくの一部である - 私は私のページの左側にあるモジュールを取り外したときに(私はdiv s内の2つのモジュールを並べ、その共有のPOST変数を持っていることを発見し

EDIT 2

私の問題)、動作しないフォームは、正常に動作し始めます。

私は、同じ形式のモジュールを作成しました。その形式を取り除いて、別のモジュールにコードを渡しても動作しますが、上記と同じ結果が得られました。

ご協力いただきまして誠にありがとうございます。

EDIT 3

Iは、いくつかの場所、一度に一つにそこにvar_dump($_POST);を投げ、これは予想されるPOSTデータが得られました。だから、私は本当に混乱しています、なぜなら、SQLクエリが正しいし、POSTデータがそれらを必要とするファイルに到達しているからです。

+0

ちょうどあなたのフラグを見ましたが、少し不確かです。この質問で私が何をしたいのか、もう一度教えてください。 – BoltClock

答えて

0

私の問題を解決すると思われる回避策が見つかりました。元々奇妙な問題はまだ残っていますが、この回避策は自分のサイトを稼働させ、私に何かを与えてくれます。

登録された公開状態ごとに別々の変数ファイルとして作成しました。どうやら、登録された状態では、変数が競合していて、POSTデータがSQLクエリにそれを作っていないので、結果テーブルに表示されませんでした。

私はJoomlaのバグかもしれないが、私はそれを報告する前に他の誰かのフィードバックを得たいと思う。しかし...私はforum.joomla.orgに何週間も前に投稿しましたので、私はそのサポートサイトにほとんど信じていません。実際、サポートフォーラムが得意とするほど良いとすれば、私は別のCMSを検討するかもしれないと思う。

2

詳細は不明な点が少しありますが、Joomlaのデバッグプロファイリングを有効にすることをお勧めします。これをオンにすると、モジュールによって実行されている正確なSQLクエリを見ることができます。モジュールで使用されているクエリを見つけ、phpMyAdminまたはMySQL Workbenchで実行し、期待どおりの結果が得られるようにします。

問題がSQLに関連していない場合は、より具体的な例を提供する必要があります。

+0

私は漠然としていることをお詫び申し上げます...それは関係するコードが相当なものであり、明白な誤りがあれば、最初に学ぶのがうれしいでしょう。あなたの提案は役に立ちますが、私は完全にデバッグモードに精通していません。しかし、私は元のポストに結果を投稿します - ありがとう! – nicorellius

+0

ゲストモードで正しい結果が得られているため、クエリが機能することがわかりました。私はphpMydminでもそれを実行し、私が望んでいたレコードを出しました。私は私のPOSTデータがクエリに到達することに問題があると思う。 – nicorellius

関連する問題