1.验证页面的程序
<?

require 'Function.inc';
require 'db.inc';
//连接数据库
$connection = @ mysql_connect("localhost","lucy","pengshifu");
if(!$connection)
    die("没有连上数据库");
if(!mysql_select_db("authentiaction",$connection))
die("没有找到数据库");
    //开启Session
session_start();
//获取表单的值
$loginUsername = mysqlclean($_POST,"loginUsername",10,$connection);
$loginPassword = mysqlclean($_POST,"loginPassword",10,$connection);

//认证用户
if(user($connection,$loginUsername,$loginPassword))
{
//注册loginUsername
$_SESSION["$loginUsername"]=$loginUsername;
//echo $_SESSION["$loginUsername"];

//注册开启IP
$_SESSION["loginIP"]= $_SERVER["REMOTE_ADDR"];
//echo $_SESSION["loginIP"];
//重定向到应用程序开始页
header("Location: home.php");
exit;
}
else 
{
$_SESSION["loginUsername"]="没有'{$loginUsername}'";

//重定向至注销页面
header("location: logout.php");
exit;
}

    

?>
2.Function.php页面中有函数
Function sessionuser()
{
echo $_SESSION["loginUsername"];
//检查用户名是否登录
if(!isset($_SESSION["loginUsername"]))
{
header("location:logout.php");
exit;
}
//检查SESSION IP
if(!isset($_SESSION["loginIP"])||($_SESSION["loginIP"] != $_SERVER["REMOTE_ADDR"]))
{
//请求并非来发创建SESSION的主机;
//小心会话攻击
$_SESSION["message"]="你的{$_SESSION["REQUEST_URL"]}不是来自你的{$_SERVER['REMOTE_ADDR']}";
header("Location:logout.php");
exit;
}

}
3.调用的页面:<?

require 'Function.inc'; require_once "HTML/Template/ITX.php";         //开启Session
session_start();
echo $_SESSION["$loginUsername"];

sessionuser();
echo "哈哈";
         $template = new HTML_Template_ITX("./templates");
$template->loadtemplatefile("home.tpl",true,true);
$template->setVariable("USERNAME",$_SESSION["loginUsername"]);
$template->parseCurrentBlock();
$template->show();

?> 问题是:读起不到session值?

解决方案 »

  1.   

    不知道你那文件叫Function.php还是Function.inc,莫名其妙。。把session_start();放到Function.php或Function.inc的页首,再试下
      

  2.   


    不好意思,笔语,是function.inc      我放在页首试了下,不行
      

  3.   

    在哪个页面读不到session,调用页面?前两个都能读到?
      

  4.   

    echo $_SESSION["$loginUsername"];
    如果没猜错的话,是多了个这个?
      

  5.   


    不是,这个是我在这个函数里打印session  我注释了也不可以。
      

  6.   

    问题是你要session的key是$loginUsername变量的值还是字符串loginUsername
      

  7.   

    给session赋值的时候你要制定session的名字(key),从session中取数据的时候就根据这个名字(key)来取。