2012-05-25 96 views
1

我在我能一个foreach()循环中使用的阵列,以从一个页面传递到另一个使用在发送页的链接:传递数组变量从一个页面到另一个在PHP和Joomla

$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; 

但是用这种方法,并使用搜索引擎优化链接:

的会议结果不正确时,人点击的链接。它只检索数组的最后一个值。所以我的问题是如何让joomla模块显示使用变量的链接,或者当用户单击链接时如何使用$ _SESSION正确地将数组变量传递到接收者页面。谢谢。

+0

通过禁用搜索引擎优化是最简单的解决方案 – HamZa

+0

我并不真的需要搜索引擎优化,但我确实需要joomla模块出现。这就是为什么我试图使用joomla菜单链接功能。我很抱歉混淆 – Rich

+0

我不明白这一点,为什么你不能使用“announcenumber”当你做什么时会发生什么......我们使用模块中的组件链接随附参数... – Craig

回答

0

您应该使用joomla类的JSession而不是本地PHP $ _SESSION,因为Joomla有时会清除$ _SESSION变量。

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

你不应该使用unsanitized $ _GET要检索的变量,因为这是一个很大的安全隐患。使用Joomla JRequest :: getInt('announcenumber');而是恰当地清理变量。

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

如果您使用捕捉请求的PHP文件的Joomla之外的外部文件,那么你就不能使用核心的Joomla类。在这种情况下,我建议您重写您的扩展以符合MVC标准。

+0

谢谢。我将尝试实现这一点。我必须查找我未曾听说过的'unsanitized'$ _GET和MVC标准。我还发现,我可以在电子邮件链接中包含joomla菜单的“Itemid”,从而为我提供了我一直在寻找的必要模块 – Rich

相关问题