在php和joomla中将数组变量从一个页面传递到另一个页面

时间:2012-05-25 08:43:08

标签: php arrays session joomla

我在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将数组变量正确传递到我的接收器页面。感谢。

1 个答案:

答案 0 :(得分:0)

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

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

您永远不应该使用未经过验证的$ _GET来检索变量,因为这是一个很大的安全风险。使用Joomla JRequest :: getInt('announcenumber');而是正确清理变量。

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

如果用于捕获请求的PHP文件是Joomla之外的外部文件,则无法使用核心Joomla类。在这种情况下,我建议您重写您的扩展以符合MVC标准。