首先看看你的php.ini配置的对不对。session.save_path = 路径
这个是存session的路径。你设一下这个路径并保证他存在。另一点如果你用的是4.2.1的版本那么你在使用session的时候应该这样$_SESSION['SESSION变量'];

解决方案 »

  1.   

    路径没问题,我强制设了一个路径。我用的是4.2.2
    程序如下;
    <html> 
    <title>Session</title> 
    <body> 
    <center> 
    <font color='green'> 
    <? 
    Session_start(); 
    if(session_is_registered('mycount')) 

    session_save_path('\tmp'); 
    Session_register('mycount'); 

    $mycount++; 
    echo "这是您第$mycount 次访问本页面!"; 
    ?> 
    </center></font> 
    </body> 
      

  2.   

    还有一点忘了说了。你的session前不能有空格或输出语句那样会出错的。尤其在你包含的时候要注意。
      

  3.   

    你把session那一句放大第一行。如:
    <?Session_start();?>
    就是这里错了你试试看应该可以了。
    <html> 
    <title>Session</title> 
    <body> 
    <center> 
    <font color='green'> 
    <? 
    Session_start(); 
    if(session_is_registered('mycount')) 

    session_save_path('\tmp'); 
    Session_register('mycount'); 

    $mycount++; 
    echo "这是您第$mycount 次访问本页面!"; 
    ?> 
    </center></font> 
    </body>
      

  4.   

    对不起下面的那个
    Session_start();去掉。
      

  5.   

    不会吧,session_start()不用放在第一行的。
    看看php.ini中register_globals是否=On,必须是on才能用$mycount,否则用$http_session_vars["mycount"]
      

  6.   

    session_start()没有说一定要放在第一行,只是在session_start()前不能有任何输出,一个字符都不行,否则就会报headers already send的错误.
    有一种变通的方法是在页首加上ob_start(),打开输出缓冲区.在4.2.2上默认register_globals是为Off的,偶觉得代码还是改改的好:<?
    session_start();
    session_save_path('/tmp');
    ?><html> 
    <title>Session</title> 
    <body> 
    <center> 
    <font color='green'> 
    <? 
    echo "这是您第".++$_SESSION['mycount']."次访问本页面!"; 
    ?> 
    </center></font> 
    </body>
      

  7.   

    ob_start(),这个东东很好,可以利用的。尤其是你在发愁header和session前有输出和其他东东的时候。
      

  8.   

    应该是在session_start()之前有了输出东西