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 类 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 标准。

于 2012-05-28T07:32:04.820 回答