一个是你如果用www.a.com/bbs在apache好象会出错不是因为session.
二有可能是你更改了程序程序还没有生效第二次生效了.
不行的话你就把代码给出看看.

解决方案 »

  1.   

    以下的代码在windows下正常通过,但在linux就出现上面我所说的问题登录代码如下:require "conf/config.php";
    session_start();
    $db=new DB_Sql;
    $db2=new DB_Sql;
    $db->query("select ID,name,nick,passwd,post from user where name=\"$xmxm\"");
    $db->next_record();
    if ($db->f('passwd')==$passwd) {session_register("ID");
    session_register("u_id"); //新增的,和论坛php页面无关
    session_register("name");
    session_register("u_name"); //新增的,和论坛php页面无关
    session_register("hylx"); //新增的,和论坛php页面无关
    session_register("nick");$ID=$db->f('ID');
    $u_id=$db->f('ID');
    $name=$db->f('name');
    $u_name=$db->f('name');
    $nick=$db->f('nick');进入的另一个页面的部分代码:session_start();
    require "../conf/config.php";
    include "../conf/chk.php"; //检查用户是否登录
    $db=new DB_Sql; chk.php代码:<?
    session_start();
    if (session_is_registered("u_id") && session_is_registered("u_name") && session_is_registered("nick")) 
       return ;
      else
      {
    ?>
    您还没有登录
    <?
     exit();
     }
    ?>
      

  2.   

    在你在你注册session变量是注册一个session变量
    session_register("session_id")=session_id();
    然后在判段时,判断$session_id是否等于session_id()看看,
    我个人是这样做的,你可试试....
      

  3.   

    在每个用户有可能进去的页面都加上“session_start();”
    否则可以设置php.ini ……session_autostart = 1
      

  4.   

    还有……写法不是_SESSION["nick"]
     ???
    最把握的方法是if(_SEESION["name"] == "")
    或者if(isset(_SEESION[""]))