前面没有 session_start(); ?

解决方案 »

  1.   

    有的,if ($act=="logout")
    {
    unset($_SESSION['user']);
    session_destroy();

    }
    elseif ($act=="login")
    { if($user && $password)
    {
    $is_login=login($user,$password);


    if ($is_login)
    {
    $_SESSION['user']="admin";
    echo "登录成功,欢迎回来";

    }
    else
     echo '登录不成功';

    }
    }

    if (empty($_SESSION['user'])) {

      ?>
                 <form action="index.php?act=login" method="post">
                     用户名:<br/>
                       <input type="text" name="user" />
                        <br/>
                        密码:  <br/> 
                        <input type="password" name="password" />
                        <input type="submit" />
                    </form>
           <?php 
       }
       else 
    {
    ?>
    <ul class="nav_ul">
           <li><a class="lefta" href="index.php?act=post">发表文章</a></li>
                <li><a class="lefta" href="index.php?act=edit&page=1">文章编辑</a></li>
                <li><a class="lefta" href="index.php?act=comment">评论编辑</a></li>
                <li><a class="lefta" href="index.php?act=logout">退出登录</a></li>      
          </ul>
          <?php 
      }
       ?>
      

  2.   


    $is_login=login($user,$password);
    这是楼主的登录函数吧,检查一下问题会不会是出在函数里面呢?把login函数贴出来看看。btw 检查用户是否已经登录,最好是用isset函数吧?
      

  3.   

    晕死,我发现先用isset判断就没错了好奇怪,为什么用isset和empty的结果都是真? ....
      

  4.   

    也就是说我这样写:
    if (isset($_SESSION['user'])) {

    ?>
    <ul class="nav_ul">
           <li><a class="lefta" href="index.php?act=post">发表文章</a></li>
                <li><a class="lefta" href="index.php?act=edit&page=1">文章编辑</a></li>
                <li><a class="lefta" href="index.php?act=comment">评论编辑</a></li>
                <li><a class="lefta" href="index.php?act=logout">退出登录</a></li>      
          </ul>
          <?php 
      }
       else {
     ?>
                 <form action="index.php?act=login" method="post">
                     用户名:<br/>
                       <input type="text" name="user" />
                        <br/>
                        密码:  <br/> 
                        <input type="password" name="password" />
                        <input type="submit" />
                    </form>
           <?php 
       }
      
       ?>调换一下位置反而可以了....太晕了