【问题标题】:availability variable in joomla sessionjoomla 会话中的可用性变量
【发布时间】:2013-02-24 12:56:09
【问题描述】:

我有一个包含以下页面的框架集:

top.php
left.php
right.html

right.html使用database.php通过json方式访问数据库,传递变量。 Left.php 具有选择列表,由数据库中的项目生成。选中后,该变量将存储在 Joomla 会话中,并刷新右侧页面。随着刷新 database.php 被 json 激活。

我的问题是:

我能够将变量存储在 Joomla 会话中。当我在 left.php 中对这个变量执行回显时,该变量会显示在屏幕上。但是,当我第一次激活 database.php 时,它不会从 joom 会话变量中获取值。虽然它已经在 left.php 中设置。但是,当我从 left.php 选择框中选择一个项目时,它确实有效。

left.php 中使用以下代码设置和获取变量:

//If the input select item was selected (when the user has selected a item from                                                     
select box) use that item to fill the Joomla session variable.
if(isset($_POST['PeriodeSelectname'])){
$JaarKwartaal=$_POST['PeriodeSelectname'];
$session->set('JaarKwartaal', $JaarKwartaal);
//echo "<P>session-set=" . $session->get('JaarKwartaal');
}

//if no item of the input select is selected (in case of the first time) the first 
item of the $periodes array to fill the Joomla session variable
if(!isset($_POST['PeriodeSelectname'])){
$session->set('JaarKwartaal', $periodes[0]);
//echo "<P>session-notset=" . $session->get('JaarKwartaal');
}

我做错了什么?

提前致谢!

皮特

【问题讨论】:

    标签: json session select joomla


    【解决方案1】:

    你做错了什么:

    1. 使用框架。这不是 1995 年。继续前进
    2. 如果你想读取会话变量,你应该设置它们;现在您似乎只使用 POST,第二次调用时将无法使用。

    【讨论】:

    • 感谢您对框架的建议。我会尝试解决这个问题。其次,当 POST 会话变量不可用时,我使用数组来填充 Joomla 会话变量。此外,当我回显 Joomla 会话变量时,该变量会显示在屏幕上。但是,在 database.php 中,会话变量为空。当我从选择框中选择一个项目时,它确实有效吗?有什么想法吗?
    • 从我所知道的很难准确判断;我假设 $session 被初始化为: $session = JFactory::getSession();如果是这样,当您在刷新后生成正确的页面时,会话变量将可用;然后您可以回显它的值并将其插入到您需要它的 javascript / 锚点中;这样你就完成了这个圈子。我希望我确实明白你想要什么:-)
    • 问题是我使用了 getSession() 短语。但是,当我在 left.php 文件中回显 Joomla 会话变量的结果时,一切都很好。当我尝试在 database.php 中回显相同的 joomla 会话变量时(在 left.php 中设置之后),它不会出现。
    猜你喜欢
    • 2018-06-27
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    相关资源
    最近更新 更多