降妖伏魔什么意思:php的session的传递问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 18:06:07
很奇怪的一个问题,我有一个登陆页面,在提交的时候通过PHP.MVC框架转到一个静态页面框架,但是我在登陆的时候填入的名字怎么也获取不到.getAtrribute,session我都不行~
对提交的表单处理如下:
<?php
include_once 'AbstractBaseForm.php';
class QueryUserForm extends AbstractBaseForm
{
function QueryUserForm(){
parent::AbstractBaseForm();
}
function reset(&$mapping, &$request) {
parent::reset($mapping, $request);
}
function validate(&$mapping,&$request)
{
...
$username = $request->getParameter('uname');
$password = $request->getParameter('pword');

$dsKey = 'PEAR_MYSQL_DATA_SOURCE';
$db =& $this->actionServer->getDataSource($dsKey);
$sql = "Select * From tosiokan.user where name='$username'";
$result = $db->query($sql);
$row = $result->fetchRow();
.....
$db->disconnect();
if($actionErrors->isEmpty() == False) {
$this->setUserName($username);
$this->setPassWord($password);
}
$this->setUserName($username);
//我在这儿把数据塞到session里去了
$_SESSION['varname'] = $request->getParameter('uname');

$this->saveFormBean($request, $this);
return $actionErrors;
}
}
?>
然后struts-config.xml把他转向一个框架页面,我在框架包含的其中一个静态页面Left.html上写了如下代码:
<? session_start()?>
<html xmlns="http://www.w3.org/1999/xhtml">
...
<?php
if (!isset($_SESSION['varname'])){
echo $_SESSION['varname'];}
?>
但是数据没有传过来
php.ini设置没有问题
但是我在session save path指向的目录里发现生成了两个sess_...文件,其中有一个包含正确的数据,还有一个为空,求教高手,怎么做才能把数据传过来
我在文件的第一行都写了session_start()了

<?php
session_start();

if (!isset($_SESSION['varname'])){
echo $_SESSION['varname'];
}

?>

应该是 if (isset($_SESSION['varname'])) 吧?

在每个要显示的文件的第一行多加session.start();