<?php
session_start();if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
这个页面应该会打开一次,Views=的值都应该增加1吧,为什么我测试时总是1呢? 

解决方案 »

  1.   

    代码没有任何问题。
    应该是你php设置的问题,或者系统运行php的帐号对系统临时目录权限的问题。
    用这个测试下呢?session_save_path(dirname(__FILE__)."/");//session文件会生成在你当前的php页面的目录
    session_start();
    if(isset($_SESSION['views']))
      $_SESSION['views']=$_SESSION['views']+1;else
      $_SESSION['views']=1;
    echo "Views=". $_SESSION['views'];
      

  2.   

    嗯~~~~代码没问题……如果一直是1,请确认session设置比如,session默认情况,需要cookie 支持的,检测session保存路径等
      

  3.   

    代码没问题。问题在于 session 文件是否生成了。1楼的方法可解决。
      

  4.   

    用1楼的那个代码,会打开一次就会当面目录下就会多一个sess文件,可是Views=的值始终是1,我已把cookie的设置调到了最底~~,接受所有cookie
      

  5.   

    session_save_path(dirname(__FILE__)."/");//session文件会生成在你当前的php页面的目录浏览器如果能接受其他网站的cookie/session就不会是浏览器的问题,那你就检查下php的设置吧。
      

  6.   

    session
    Session Support  enabled  
    Registered save handlers  files user  
    Registered serializer handlers  php php_binary wddx  
    帮看一下有是这有什么问题吗
      

  7.   

    每次刷新的时打开之后刷新时,views的值是累加的,但是如果把该页面关掉,再打开,它的值又回到1了。
    怎么查看文件的权限呢
      

  8.   

    而且我把这个网页用记事本把开后重新保存为UTF-8编码的,再就不行了,只能用ANSI编码(默认的)。把开网页就会提示错误:如下:
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\s\view.php:1) in D:\AppServ\www\s\view.php on line 2Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\s\view.php:1) in D:\AppServ\www\s\view.php on line 2
    Views=1
      

  9.   

    建议楼主去看看session的存在方式!
    关掉以后你的session就变了好不!