1

送信者ページのリンクを使用して、あるページから別のページに渡すことができる foreach() ループで使用される配列があります。

$annoncenumber = $book[7];
<a href="index.php?annoncenumber=' . $annoncenumber . '&option=com_aicontactsafe&view=message&layout=message&pf=4&redirect_on_success=">

受信側のページ: $annoncenumber = $_GET['annoncenumber'];

これは正常に動作しますが、リンクに $annoncenumber があるため、joomla メニュー リンク システムを使用してレシーバー ページ (メニュー、フッター) にモジュールを追加することはできません。代わりに $_SESSION を使用しようとしました:

$annoncenumber = $book[7];
$_SESSION['lginumero'] = $annoncenumber;

しかし、この方法と SEO 最適化リンクを使用すると、次のようになります。

ユーザーがリンクをクリックすると、セッションの結果が正しくありません。配列の最後の値のみを取得します。したがって、私の質問は、変数を使用するリンクで joomla モジュールを表示する方法、またはユーザーがリンクをクリックしたときに $_SESSION を使用して配列変数を受信者ページに正しく渡す方法です。ありがとう。

4

1 に答える 1

0

Joomla は時々 $_SESSION 変数をクリアするため、ネイティブ PHP $_SESSION の代わりに joomla クラス JSession を使用する必要があります。

http://docs.joomla.org/JSession/11.1

変数を取得するためにサニタイズされていない $_GET を使用しないでください。これは大きなセキュリティ リスクです。Joomla JRequest::getInt('announcenumber'); を使用します。代わりに、変数を適切にサニタイズします。

http://docs.joomla.org/JRequest/11.1

リクエストをキャッチするために使用している PHP ファイルが Joomla 外の外部ファイルである場合、コア Joomla クラスは使用できません。その場合、MVC 標準に準拠するように拡張機能を書き直すことをお勧めします。

于 2012-05-28T07:32:04.820 に答える