只是在一个页面有效它主要描述的范围是函数里面和函数外面的区别,多个页面之间的参数传递要使用post,get或者是session

解决方案 »

  1.   

    yorgo(羽高):
      请教session 的问题。
      session的变量是所有的页都可以访问的,那如果我设计一个用户登陆的页page1.php,
    在page1.php中我把用户的注册号保存在session中,在page2.php中读session中的注册号。
    但问题来了:如果我通过page1.php成功注册进入page2.php后,其他的用户通过直接调用
    page2.php也可以进入,而不必通过page1.php输入注册号,因为session中的注册号是有效的。
    此问题该如何解决?急盼你的答复!
      

  2.   

    建议你看看session机制的原理
    Windows下应该是储存在服务器目录下的临时文件夹,如IIS
    Linux下是储存在/tmp
    当然,可以在服务器参数中改变这些路径
    其实session有三种存在方式:
    1。完全服务器端
    2。服务器+客户端Cookie,此时服务器储存session信息,客户端储存sessionID(或叫
    session标识)。
    3。完全客户端,也就是传统的cookie了
    可以根据需要选择session使用方式,默认方式通常为第二种
    在客户登陆等地方使用session是相当方便的,个人认为好过纯cookie方式,典型实力为
    263邮件系统的登陆,细心的话,你会发现每次登陆后地址栏上的地址都是一长串随机的
    东东其实你的php的session是和浏览器联系的,只要你不关闭浏览器的进程,session就不会消失
    浏览器与服务段的session是一一对应的关系,当然如果在同一台机器上,你所说的问题是可以出现的,不在同一个机器上是不可能出现的:)
      

  3.   

    Hongky(趴趴熊) :
       是啊,不在同一个机器上是不可能出现的。但我在同一台机器上,即使关闭那IE再重新开一个
    IE,而那个Session的值还存在,不知是何原因?
      

  4.   

    不可能吧,你用代码试过,有可能session还是存在,没有注销,但是新IE进程所对应的就是
    另外的session值了,你可以试试一个例子,写一个登录的页面,登录一次过后,再关闭这个
    浏览器,看能不能进入受session密码保护的页面