会话设置在.php文件中为jumi - joomla

时间:2012-01-25 17:50:37

标签: session joomla jumi

我在jumi附加的.php文件中使用会话遇到问题

如何在该页面中设置会话?当我使用时:

//this define and require I use from reading the other papers
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(dirname(__FILE__)));
define( 'DS', DIRECTORY_SEPARATOR );

require_once (JPATH_BASE . DS . 'includes' . DS . 'defines.php');
require_once (JPATH_BASE . DS . 'includes' . DS . 'framework.php');

$mainframe = JFactory::getApplication('site');
$session = &JFactory::getSession();

if(isset($_GET['id'])){ 
    var_dump($id= $_GET['id[i]']);
} else {echo "No session ";}

// code connect to db
// render out the items
//
foreach($rows as $i=>$row){ 
    $id[$i] = $row['rid'];
    $name[$i] = $row['rname'];

    $view .= '<tr>
                  <td>'.$id[$i].'</td>
                  <td><a href="http://www.thispage.php?id='.$id[$i].'">'.$name[$i].'</a></td>';
?>
}
<p><?php echo $view.'</tr></table>'; ?> </p>

...

它不会让我找到我点击的id = 1的子页面。 处理这类事情的更好方法是什么? 谢谢。

2 个答案:

答案 0 :(得分:0)

你有一个语法错误试试这个之后再继续:

</php
//this define and require I use from reading the other papers
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(dirname(__FILE__)));
define( 'DS', DIRECTORY_SEPARATOR );

require_once (JPATH_BASE . DS . 'includes' . DS . 'defines.php');
require_once (JPATH_BASE . DS . 'includes' . DS . 'framework.php');

$mainframe = JFactory::getApplication('site');
$session = &JFactory::getSession();

if(isset($_GET['id'])){ 
    var_dump($id= $_GET['id[i]']);
} else {
    echo "No session ";
}

// code connect to db
// render out the items
//
foreach($rows as $i=>$row){ 
    $id[$i] = $row['rid'];
    $name[$i] = $row['rname'];

    $view .= '<tr>
                  <td>'.$id[$i].'</td>
                  <td><a href="http://www.thispage.php?id='.$id[$i].'">'.$name[$i].'</a></td>';
}
?>
<p><?php echo $view.'</tr></table>'; ?></p>

答案 1 :(得分:0)

看看Jumi包含PHP文件的方式,你应该从:

开始
defined('_JEXEC') or die('Restricted access');

这将阻止PHP文件通过直接HTTP请求执行(如果您查看Jumi附带的示例博客文件,您将看到此行)。你拥有的define语句,初始化Joomla的全局变量!代码用于确保请求通过正确的路径进入。

除此之外,如@travega所述,在关闭?>

之前,您使用foreach()关闭了PHP