if(password==$password)
{
     username=$user_id;
     session_register(username)
     header("Location:http://localhost/php/main.php");
}
问题就出在这里了,你在登录的注册session的时候应该先判断这个session是不是存在,如果存在的话,你只要将原来的session 值改过来就行了,代码如下:
if(password==$password)
{
      if (session_is_registered("username"))
     {
          $username=$user_id;
     }
     else
     {
          $username=$user_id;
          session_register("username");
      }
      header("Location:http://localhost/php/main.php");
}     

解决方案 »

  1.   

    session_start();
    if (isset($username==fase))
    {
       print"没有登录"
       include("login.html");
    }
    还有这里是不是用isset()函数也有问题呢?
    我的写法是:
    session_start();
    if (!isset($username))
    {
        print "please login...";
       include "login.html";
    }
      

  2.   

    TO-->drate(同舟) 
    你那不是一样的,isset()函数的值传回的是真true(=1) 或假 fals(=0)而且我也改过成你那样,根本一样而且第一种方法,难道我第一次登录也要判定session值吗,就算原来有,那session_register(username)也是相同的$username吧
      

  3.   

    zyme(骇虫) 请指教,那里不好?
    有什么好的习惯?
      

  4.   

    if(password==$password) ...是什么意思?
      

  5.   

    to mistruster:
    if ("value"=$aa)
    这可是推荐的判断方法,不容易出错
    to 搂主,给你看一个能用的,以前写的
      

  6.   

    check.php<?php
    session_start();
    session_register('passwd');
    include ('fucktion.php');
    if (!$passwd) {
    $message="你干什么啊,你也登陆先啊,好不好?<br>";
    main_html_shang("求求你了..","index.php","#fdfdfd","#E7E7E7","#E7E7E7","#F2F2F2","1");
        main_html_message($message,"index.php");
        main_html_xia("#E7E7E7");
    exit();
    }?>
    main.php
    <?php
    include ('check.php');
    ..............................
    ?>
      

  7.   

    xinxin1982(新新) :
    main_html_message 这是什么函数?请指教
      

  8.   

    不好意思,把我的不好看的老婆被你看到了
    那是我以前写代码的时候,习惯把html和php用函数分开
    现在比较喜欢莫办
    能用吗?我没有在最新的apache+php下面试验
    没有环境,不能用的话告诉我,
    谢谢
      

  9.   

    : xinxin1982(新新) 什么意思,我现在还看不明白你的代码
      

  10.   

    isset好像要改用 session_is_registered
      

  11.   

    给个例子
    info_table 是我自己写的提示函数
    function check( $in )
    {
    session_start();
    if ( !session_is_registered( $in ) ) 

    info_table
    (
    '身份认证失败...',
    '对不起,身份认证失败,请 <a href="admin.php" >重新登陆</a>...<br>如果再次出现错误,请将你的浏览器的Cookie限制设定为中下...',
    '',
    ''
    );
    exit;
    }
    }function add_session( $in )
    {
    $is_ok = session_start();
    $iis_ok = session_register( $in );
    if ( !$is_ok || !$iis_ok )
    {
    info_table
    (
    '不能使用Session...',
    '对不起,Session无法启用,请联系我们 '.$tech_mail.',谢谢!',
    '',
    ''
    );
    exit;
    }
    }function del_session($in)
    {
    $is_ok = session_unregister($in);
    $iis_ok = session_destroy();
    if ( $is_ok || $iis_ok )
    {
    info_table
    (
    '成功退出...',
    '你已经成功地退出了管理模式,正在转向文章列表页面,请稍候...',
    '',
    ''
    );
    }else
    {
    info_table
    (
    '退出失败...',
    '对不起,无法消除注册的Session,建议重新启动计算机...',
    '',
    ''
    );
    exit;
    }
    }
      

  12.   

    KBUG(爱睡觉的猫) 活活活活,你是用51.net的空间的?我正准备申请呢你用了2个月了,感觉如何?配置与调试麻烦不?服务怎么样
    麻烦你了,