maorui2k 发表于 2011-08-04 12:35

【求助】php session的一个怪问题

PHP5.2.7和5.3.6环境。有两个页面,相同的session判断,但是结果却不一样。
index.php执行很正常,会重定向到login.php。
但是login.php每次都会执行到$username和$password赋值部分。Debug进去可以确定$_SESSION和$_POST都是空的。
两个lilb只是一些变量赋值。是什么造成的?

------------------------
index.php
<?php

require_once 'lib/config.php.inc';
require_once 'lib/common.php.inc';

doSessionStart();

if (!isset($_SESSION['currentUser']))
{
redirect(HM_BASE_HREF ."login.php?note=expired");
exit;
}

Hello

?>
------------------------
login.php
<?php

require_once 'lib/config.php.inc';
require_once 'lib/common.php.inc';

doSessionStart();

if (!isset($_SESSION['currentUser'])) {
if (!isset($_POST['username'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    ......
}
} else {
echo "Welcome back ".$_SESSION['currentUser'];
redirect(HM_BASE_HREF . 'index.php');
}
------------------------
function doSessionStart() {
session_set_cookie_params(99999);
if(!isset($_SESSION)) {
    session_start();
}
}

lsstarboy 发表于 2011-08-04 16:42

好像一直没有给$_SESSION['currentUser']赋值,当然是空了。

maorui2k 发表于 2011-08-05 10:45

是啊,但是login.php里面执行(!isset($_SESSION['currentUser']))和(!isset($_POST['username']))的结果却都是true。

maorui2k 发表于 2011-08-05 11:25

晕!低级错误……:oops:
页: [1]
查看完整版本: 【求助】php session的一个怪问题