我在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的子页面。处理这类事情的更好方法是什么?谢谢。
发布于 2012-01-26 07:08:35
您有一个语法错误,请在进一步操作之前尝试执行以下操作:
</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>发布于 2012-01-26 14:11:38
看看Jumi包含PHP文件的方式,您应该从以下内容开始:
defined('_JEXEC') or die('Restricted access');这将阻止PHP文件通过直接HTTP请求执行(如果您查看Jumi附带的示例blogger文件,您将看到这一行)。你拥有的define语句,初始化全局变量!代码使用来确保请求已通过正确的路径输入。
除此之外,正如@travega所提到的,在关闭foreach()之前使用?>关闭PHP
https://stackoverflow.com/questions/9007547
复制相似问题