错误提示:
Notice: Undefined index: aa in e:\test\test2.php on line 3

解决方案 »

  1.   

    ie6.0,5.0,5.5都试过,
    windows2000 pro sp4
    session_register也试过了!!
    快点有人解决吧,急啊,自已试了两天都没有结果了~~~:((((((((((
      

  2.   

    设置php.ini
    session.name = session_id()
    留给未解决的人看看吧,明天结贴顺便问问
    大家用session.name = PHPSESSID可以使用session吗?可以用的时候系统配置是怎样,麻烦大家留言了,好让问题能真正清释
      

  3.   

    我试过了,我的机子是IIS+PHP,一切正常,没问题呀这的我的php.ini中的设置
    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files; Argument passed to save_handler.  In the case of files, this is the path
    ; where data files are stored. Note: Windows users have to change this 
    ; variable in order to use PHP's session functions.
    ; As of PHP 4.0.1, you can define the path as:
    ;     session.save_path = "N;/path"
    ; where N is an integer.  Instead of storing all the session files in 
    ; /path, what this will do is use subdirectories N-levels deep, and 
    ; store the session data in those directories.  This is useful if you 
    ; or your OS have problems with lots of files in one directory, and is 
    ; a more efficient layout for servers that handle lots of sessions.
    ; NOTE 1: PHP will not create this directory structure automatically.
    ;         You can use the script in the ext/session dir for that purpose.
    ; NOTE 2: See the section on garbage collection below if you choose to
    ;         use subdirectories for session storage
    session.save_path ="c:\temp"; Whether to use cookies.
    session.use_cookies = 1; This option enables administrators to make their users invulnerable to
    ; attacks which involve passing session ids in URLs; defaults to 0.
    ; session.use_only_cookies = 1; Name of the session (used as cookie name).
    session.name = PHPSESSID; Initialize session on request startup.
    session.auto_start = 0; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    session.cookie_lifetime = 0; The path for which the cookie is valid.
    session.cookie_path = /; The domain for which the cookie is valid.
    session.cookie_domain =; Handler used to serialize data.  php is the standard serializer of PHP.
    session.serialize_handler = php; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.session.gc_probability = 1
    session.gc_divisor     = 100; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 1440; NOTE: If you are using the subdirectory option for storing session files
    ;       (see session.save_path above), then garbage collection does *not*
    ;       happen automatically.  You will need to do your own garbage 
    ;       collection through a shell script, cron entry, or some other method. 
    ;       For example, the following script would is the equivalent of
    ;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ;          cd /path/to/sessions; find -cmin +24 | xargs rm; PHP 4.2 and less have an undocumented feature/bug that allows you to
    ; to initialize a session variable in the global scope, albeit register_globals
    ; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
    ; You can disable the feature and the warning seperately. At this time,
    ; the warning is only displayed, if bug_compat_42 is enabled.session.bug_compat_42 = 1
    session.bug_compat_warn = 1; Check HTTP Referer to invalidate externally stored URLs containing ids.
    ; HTTP_REFERER has to contain this substring for the session to be
    ; considered as valid.
    session.referer_check =; How many bytes to read from the file.
    session.entropy_length = 0; Specified here to create the session id.
    session.entropy_file =;session.entropy_length = 16;session.entropy_file = /dev/urandom; Set to {nocache,private,public,} to determine HTTP caching aspects
    ; or leave this empty to avoid sending anti-caching headers.
    session.cache_limiter = nocache; Document expires after n minutes.
    session.cache_expire = 180; trans sid support is disabled by default.
    ; Use of trans sid may risk your users security. 
    ; Use this option with caution.
    ; - User may send URL contains active session ID
    ;   to other person via. email/irc/etc.
    ; - URL that contains active session ID may be stored
    ;   in publically accessible computer.
    ; - User may access your site with the same session ID
    ;   always using URL stored in browser's history or books.
    session.use_trans_sid = 0; The URL rewriter will look for URLs in a defined set of HTML tags.
    ; form/fieldset are special; if you include them here, the rewriter will
    ; add a hidden <input> field with the info which is otherwise appended
    ; to URLs.  If you want XHTML conformity, remove the form entry.
    ; Note that all valid entries require a "=", even if no value follows.
    url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
      

  4.   

    1、将session.save_path的路径改为session.save_path = c:\php\tmp
    同时在c:\php下建立tmp目录。2、另,session.cookie_path 的路径千万不能改还是要保持原来的样子
    session.cookie_path = /
      网上有的文章说要把这改成和session.save_path一样的路径,就这
    点把我害了。  改完后重新起动服务器。运行两个文件。test.php<?
    session_start();
    $_SESSION["mytest"]="give my love.";
    echo "<a href=test2.php>go</a>";
    ?>test2.php<?
    session_start();
    echo $_SESSION["mytest"];
    ?>  结果可以让人满意。以上是我以前写的对session的测试,楼主试一下,应该可以解决问题.
    另,楼主说"在tmp目录下每运行一次session_start()都会产生一个新的文件了,但session变量总是读取不到??"
    请楼主这样试,直接用记事本打开tmp目录中如sess_71b90d336e8546f7bee08436bfb506a4这样
    的文件,里面应该有aa|s:9:"haha";这是测试时产生的变量结果.
    如果楼主的那个文件根本就没有内容,那就是说,根本没有session变量存入服务器,那是不能
    读出来了.不过一般这种情况不会发生的.如果真的是这样,可能唯一的办法是重新装php系统
    了.
    个人观点,供楼主参考.
      

  5.   

    session.cookie_path = e:/php/tmp

    session.cookie_path = /请注意,这个session.cookie_path是指sessionid在cookie中存放时的路径,而非物理路径当浏览器发出http协议时,会检查document.cookie。并只将其中符合请求的url路径的cookie变量传出。/表示根,以此为路径的cookie变量都会被传递,不受路径限制你设置 session.cookie_path = e:/php/tmp
    而在你的url中绝是不会出现此路径的,所以cookie变量PHPSESSID不会被传递。
    当然也就“session变量总是读取不到”了
      

  6.   

    回复人: xuzuning(唠叨) 
    session.cookie_path = e:/php/tmp

    session.cookie_path = /请注意,这个session.cookie_path是指sessionid在cookie中存放时的路径,而非物理路径当浏览器发出http协议时,会检查document.cookie。并只将其中符合请求的url路径的cookie变量传出。/表示根,以此为路径的cookie变量都会被传递,不受路径限制你设置 session.cookie_path = e:/php/tmp
    而在你的url中绝是不会出现此路径的,所以cookie变量PHPSESSID不会被传递。
    当然也就“session变量总是读取不到”了
    佩服!!:)分析的够透彻,当时我只是找出了怎么解决,却找不出为什么会这样,现在明白了:)
      

  7.   

    对的,session.save_path与session.cookie_path是两个不同的概念,作用也不一样
      

  8.   

    是啊
    我现在都是把SESSION放在数据库里面